당황하지 않고 오픈 소스 프로젝트 공개 [닫기] 작동했지만 비판은 정확했지만 잔인했습니다. 모든

나는 꽤 오랫동안 오픈 소스 프로젝트를 꽤 많이 진행해 왔으며 그것을 발표하려는 시점에 가까워지고 있습니다. 그러나 나는 독학을 잘하며 내 프로젝트를 적절하게 검토 할 수있는 사람을 모른다.

몇 년 전, 나는 그것을 공개 한 포럼에서 (비판적인 의미로) 찢어 졌던 작은 코드를 공개했다. 코드가 작동했지만 비판은 정확했지만 잔인했습니다. 모든 것에 대한 모범 사례를 찾기 시작했으며 결국 더 나은 개발자가되었다고 생각합니다. 나는 내 프로젝트의 모든 것을 너무나 많이 넘겨서 완벽하게 만들려고 노력했다.

나는 내 프로젝트를 믿고 많은 사람들을 도울 잠재력이 있다고 생각하며 재미있는 방법으로 멋진 일을 한 것처럼 느낍니다. 그럼에도 불구하고, 나는 자아를 가르치기 때문에 자아 교육에 어떤 차이가 있는지 궁금해 할 수 없습니다. 지난 번에 코드를 찢어 버린 방식은 반복하고 싶지 않습니다. 수많은 시간을 투자 한 프로젝트를 발표 할 때의 가장 큰 두 가지 두려움은 자기 교육 때문에 특허 적으로 명백한 것을 놓쳤거나, 더 나쁜 것은 귀뚜라미 소리로 풀어 놓았 기 때문에 당황 스러웠습니다.

비슷한 상황에 처한 사람이 있습니까? 나는 건설적인 비판을 두려워하지 않습니다. 건설적인 비판은 물론 내가 망쳐 놓은 방법에 대한 열렬한 것이 아닙니다. StackExchange에 코드 검토 사이트가 있다는 것을 알고 있지만 실제로는 대규모 프로젝트를 위해 설정되지 않았으며 커뮤니티가 프로젝트 단편의 일부를 게시 할 때 아직 좋은 피드백을 얻을만큼 큰 느낌이 들지 않았습니다. 하나의 파일로 시도). 프로세스에 당황하거나 투자하지 않고 프로젝트에 최소한의 성공 척도를 제공하려면 어떻게해야합니까?



답변

프로젝트가 개발자를 대상으로하지 않는 한 (예 : 개발 프레임 워크, 더 많은 학습을하게되면 비난을 원할 경우) 걱정하지 않아도됩니다. 그러나 그럼에도 불구하고 허약 한 개발자를 대상으로하는 오픈 소스 프로젝트가 많이 있지만 사람들은 요점에 도달하기 때문에 프로젝트를 좋아합니다 (Codeigniter는 매우 잘 설계되지 않았지만 가장 인기있는 PHP 프레임 워크라고 생각합니다)

일반 인간을위한 응용 프로그램 인 경우 결과에만 관심이있을 것입니다.


답변

코드에 문제가 있습니다. 나도 그래 이 질문에 다른 사람이 있습니까? 그들의 코드에도 문제가 있습니다.

예를 들어 10 줄 이하이면 결함이있는 것입니다. 어쩌면 비극적으로

개발자가되는 것은 자신의 능력과 이해의 한계에 맞서 자신을 깨뜨리는 것입니다. 모든 개발자에게는 그렇지 않을 수도 있지만 저와 제가 아는 개발자에게는 항상 역량의 가장자리에서 거의 일을합니다. 그리고 당신은 그것을 반복해서 직면하고, 즐거운 주말을 보내고, 월요일로 돌아와서 또 다시 반복해서하세요.

15 년 동안 그 일을 해왔지만, 내가 정한 것은 바로이 사실입니다. 당신은 코드가 아닙니다 . 당신은 코드를 작성합니다. 규범의 판단은 당신의 판단이 아닙니다 . 코드에는 문제가 있습니다. 일부는 알고 있지만 일부는 그렇지 않습니다. 당신이 할 수있는 모든 일이 나쁘지 않다면, 주의를 기울이는 것이 도움이됩니다 . 기분이 나쁘다고해서 코드가 향상되지는 않으며 기분이 나빠집니다.

코드를 작성하고 방법을 아는 것뿐만 아니라 코드를 작성합니다. 어쩌면 내일은 오늘보다 더 많은 것을 알게 될지 모르지만 오늘은 당신이 알고있는 것만 큼 잘했습니다. 내 충고는 : 오늘 코드를 작성하고 내일 코드를 작성하십시오. 그런 다음 좋은 주말을 보내고 월요일에 돌아와 월요일의 코드를 작성하십시오.


답변

일반적으로 오픈 소스 프로그램에는 소스 코드를 보는 세 그룹의 사람들이 있습니다.

  1. 코드를 수정하여 프로그램이 약간 다르게 작동하도록하거나 다른 플랫폼으로 포팅하거나 자체 프로그램의 시작점으로 생각하는 사람들. 코드가 마음에 들지 않으면 일반적으로 코드를 사용하지 않으므로 코드를들을 수 없습니다.
  2. 사용하는 언어로 코딩하는 방법을 배우려는 학생들. 이것들은 거의 당신에게 연락하지 않지만 때때로 어떤 방법으로 다른 방법으로 행동했는지 묻는 전자 메일을받을 수도 있습니다. (공평하게 말하면, 실제로 몇 년 동안 이러한 전자 메일 중 하나가 없었습니다. StackExchange와 같은 웹 사이트가이 상호 작용을 대체했을 수 있습니다.)
  3. OpenBSD 직원과 같은 보안 연구원은 도구가 배포에 포함되기에 충분히 안전한지 결정하려고합니다. 그렇지 않은 경우에도 여전히 프로그램을 포함하고 싶다면 보안을 유지하는 방법을 찾아야합니다. (귀하의 프로그램이 인기를 얻는다면, 블랙 햇 연구원들도 관심을 가질 것이라고 생각합니다.

현실에서는 사람들이 소스 코드를 읽을 필요가 없기 때문에 소스 코드를 읽을 수 없습니다. 포럼에 코드를 게시 했으므로 코드에 대한 피드백을 받기를 원했기 때문에 이전에는 그러한 피드백이 많았습니다.

나는 당신이 학대의 급류에 대해 정말로 걱정할 필요가 없다고 생각합니다. 기능을 추가하거나 버그를 수정하려는 사람들은 이미 코드베이스를 탐색하고 언덕을 향해 비명을 지르지 않은 사람들입니다. 😉


답변

나는 정말로이 질문 뒤에 심리학을 얻지 못한다. 스스로에게 물어 보는 더 좋은 질문은 “이 소프트웨어를 발표함으로써 무엇을 잃어야 하는가”일 것이다.

프로젝트에 코드 냄새가 가득 차더라도 잃어버린 것이 있습니까?

코드가 끔찍하고 누군가가 당신에게 불꽃 메일을 쓰는 데 시간이 걸리더라도, 그 코드를 약간 변경하고 더 좋게 만들고 싶을 정도로 소프트웨어를 사용했을 것입니다.

당신은 그것에 대해 행복해야합니다! 비판을 받아들이고 코드를 향상 시키려면 시간을내어 화난 사람에게 편지를 쓰십시오. 그는 걱정한다!

잠시 후 화염 메일이 중단되고 사람들이 소프트웨어를 계속 사용하게되므로 실수를 통해 배우게되며 교육에서 알지 못한 격차는 더 이상 존재하지 않게됩니다.

나는 기꺼이 무언가를하고 싶어하는 사람과 실수를 인정하고, 실수를 고치고 , 기꺼이 아무것도하지 않는 사람보다 계속 일하고 싶습니다 .

귀하의 이름으로 소프트웨어를 공개하는 것이 불편한 경우에는 별명으로 소프트웨어를 해제하십시오. 성공하면 닉네임을 변경하지 않으면 자신의 것으로 주장하십시오 🙂


답변

나는 사람들이 코드의 완전한 진화를 볼 수 있는 오픈 소스뿐만 아니라 오픈 개발에 대한 확고한 신자 입니다. 머리가 두근 거리는 프로토 타입에서 작업 코드까지 … 당황스럽지 않아야합니다. 당신은 거기에 자신을 내놓고 있습니다-용기가 필요합니다. 그것을 소유하고 자랑스러워하십시오. 누구도 완벽하지 않다.


답변

이 게임에 오래 참여할수록 코드 품질의 유일한 척도는 클라이언트 경험이라는 것을 깨닫게되었습니다. 함수를 작성하는 경우 해당 함수의 호출자입니다. 도서관? 해당 라이브러리를 작성하는 개발자 프레임 워크? 그것의 채택 자. 독립형? 프로그램을 시작한 사람 또는 데몬.

좋은 코드는 장점이 있습니다. 틀리지 말아주세요. 그러나 말하고 행할 때 유일한 조치는 “작동합니까?”입니다. 나는 버그가 많은 엉망인 많은 깨끗한 코드와 완전히 신뢰할 수있는 많은 체계적으로 정렬 된 코드를 보았습니다.

그래서 비평가들이 당신의 코드가 못 생겼다면 누가 걱정하는지 말입니다. 그들이 효과가 없다고 말하면 그것은 프로그램을 개선하고자하는 유용한 비평 (테스트 데이터!)입니다. 인터넷에 트롤 인구를 피하고 프로젝트를 즐기십시오!


답변

나는 다른 포스터가 말한 것에 강력히 동의합니다. 코드가 고르지 않고 품질이 좋지 않더라도 대부분의 사람들은 신경 쓰지 않습니다. 언젠가 OpenSource 코드에 들어간 사람은 누구나 “WTF가 여기에서 일어났다”고 생각했을 것입니다.

그러나 나는 “친구, 당신의 코드가 끔찍해 보인다”고 말하는 목적으로 프로젝트의 코드베이스를 비판 하려는 동기 를 가진 사람을 모른다 . 우리는 모두 거기에 있었고 우리는 지금 우리가 작성하는 모든 코드가 몇 번의 비용으로 자신을 위해 절름발이가 될 것임을 알고 있습니다.

따라서 걱정하지 마십시오. 사람들은 여가 시간에 OpenSource 프로젝트 코드를 짜는 것보다 훨씬 더 잘 할 수 있습니다.