2009-08-29 2 views
2

나는 오픈 소스 프로젝트의 일부 코드를 읽고있다. 그 중 하나에서 코드가 잘 작성되지 않았으며 가독성을 높이기 위해 약간 변경 될 수 있음/디자인/코드를 개선하고이 코드로 작업하기가 더 쉬워 진 다른 것들.오픈 소스 프로젝트의 코드 변경 제안 방법은 무엇입니까?

그런 변경 사항을 신고하는 일반적인 방법이 있습니까? 나는 당신이 기여자가 될 수 있고, 패치를 만들고, 뭔가를 제안 할 수 있다는 것을 알고 있습니다. 그러나이 프로젝트에 너무 많은 시간을 할애하지 않으려는 경우 다운로드하고, 읽고, 변경 사항을 생각하고, 작성하고, 어딘가에 제안으로 게시했습니다.

사실 저는 모든 사람들이 볼 수있는 제안을 게시하는 능력을 선호합니다. 커뮤니티와 함께 ​​배우는 것과 같지만 유연하게 만들었습니다.

+0

대부분의 오픈 소스 프로젝트에는 메일 링리스트 (때로는 포럼)가 ​​있습니다. 변경 사항을 제안하십시오. –

+0

거의 모든 오픈 소스 프로젝트에 변경 사항을 제안 할 수 있습니다. 하지만 빨리하고 싶다면? 대부분의 사람들은 작은 변화를 제안하는 데 너무 많은 시간을 소비하는 것을 원하지 않습니다. 그들이 할 수 있다고해도 그들은 아무 것도 제안하지 않을 것이다. 그리고 우리가 anyt 변경을 빨리 제안 할 수있는 능력이 있다면 우리는 오픈 소스 프로젝트를 빨리 개선하기 위해 인터넷 정신을 사용할 수있을 것입니다. 그게 요점이다. –

+0

메일 링리스트에서 변경 사항을 제안하십시오. "이봐, 그게 ... 내가하고 싶다 ...." 긍정적 인 피드백을 받으면 패치를 준비하십시오. 작은 변화부터 시작하여 거기서부터 시작하십시오. – levinalex

답변

3

댓글이있는 발췌 문장을 프로젝트 포럼, 버그 추적기 또는 메일 링리스트에 게시 할 수 있습니다. 각 프로젝트는 서로 다른 방식으로 커뮤니케이션 및보고를 관리합니다. 예 : Mozilla 개발자가 Bugzilla에 대한 의견을 무시하는 경향이 있다는 이야기를 들었습니다. 따라서 Firefox 변경 사항에 대해 의견을 말할 수있는 좋은 장소가 아닙니다.

매우 긴 부분을 쓰고 싶다면 블로깅을 더 잘하고 더 나아질 수 있습니다. 나는 너의 말의 음색에 조심할 것이다. 좋은 이유가있을 수 있습니다. 그들이 프로젝트 및 일정과 함께가는 곳을 이해하려고 노력하십시오. 어쩌면 상황이 그렇게되는 이유를 물어보고 문제가 무엇이고 영향을받을 수있는 사람이 무엇인지 분명하게 기술 할 수 있습니다.

변경 사항에 대한 패치를 작성하는 것은 좋은 습관으로 간주되며 사람들이 귀하의 의견을 수락하도록하십시오. 프로젝트를위한 패치를 적극적으로 만들지 않는 경우, 이와 같은 패치를 처리하는 것이 빠르지는 않지만 종종 에 영향을 끼치십시오.. 내 개인 의견은 이것이 좋은 것입니다. 그것은 제출 측면에서 밀과 채소를 분리하며 사람들은 지속적이어야합니다.

0

특정 프로젝트를 수정하려는 노력이 최소 요구 사항을 충족시키지 않는 한, 거기에 기여할 수만 있습니까? 변경 사항을 적용하고, 패치를 확인하고, 확인하고, 통합하는 데 약간의 시간이 걸립니다. 너무 적은 시간을 소비하는 경우, 패치의 품질이 낮거나 이미 논의 된 문제를 해결하거나 단순한 오해 일 가능성이 큽니다 개념의.

무료로 주로 작업하는 개발자는 귀중한 시간을 들여 패치를 조사하여 궁극적으로 완전히 다시 작성하고 더 중요한 문제에 전념 할 시간을 낭비 할 가능성이 있습니다. 그러나 일하는 데 더 많은 시간을 소비한다면 위험은 줄어 듭니다. 당신이 얼마나 많이 일했는지 결정하는 방법? 그렇다면 개발자에게 연락하는 데 필요한 노력은 전체 노력의 일부에 불과하므로보고 문제에서 일종의 관료주의를 극복하는 것이 문제가되지 않는다는 것을 알 수 있습니다.

가장 빠른 방법은 다음과 같습니다

  • 포스트에 대한 간략한 설명과 함께 메일 링리스트에 패치.
  • 프로젝트의 IRC 채널로 이동하여 패치를 붙여 넣어 자격이있는 사람이 처리하도록합니다.
  • 버그 추적기에 버그를 신고하거나 버그 또는 개선점을 간략하게 설명하고 거기에 패치를 첨부하십시오.

너무 복잡합니까? 하아! OpenJDK 프로젝트에 기여하려면 계약서에 서명하여 Sun에 보내야합니다 (보통 우편이나 팩스로). 음, 은 "복잡한"을 의미하는입니다!그리고, bugzilla에 등록하고, 계정을 활성화하고, 패치로 문제를 열려면, 이 아니고,이 아닙니다. ,

당신이 도움을 원한다면 "아무도 요구 없다는 것을 조언은 거의 인정되지 않는다"

+0

당신은 모두 거대한 변화에 대해 이야기하고 있습니다. 하지만 나는 모든 인터넷을 가진 한 쌍의 프로그래머처럼 제안하고있다. 코드를 게시해야 할 때 쌍 프로그래밍을 할 수 있는가? 그렇다면 꽤 오래 동안 받아 들여야 할 것인가? 변화가 작 으면 어떨까요? 코드를 읽고 더 잘 수행 할 수있는 작은 것들을 찾고 싶어합니다. 당신이 필요로하는 것은 향상시킬 부분을 알고 그에게 당신의 제안을 읽게하는 사람입니다. 나는 그것에 대해 논평 할 수 있기를 원하지만 의무는 아니다. –

+0

페어 프로그래밍에서는 알고있는 사람과 책임을 공유하는 사람과 일하게됩니다. _이 기술은 버그 추적기, 메일 등 관료주의를 우회하는 기술을 허용합니다. 다른 사람의 프로젝트에 기여할 때 그는 자신의 작업에 책임이 있으므로 코드를 작성하는 데 다른 프로세스를 사용합니다. OTOH는 개선해야 할 작은 것들을 찾아내는 것이 가치가없는 경우가 있습니다 - 모든 소프트웨어가 공들인 노력으로 이상적으로 만들어 질 수있는 것은 아닙니다. –

+0

아는 사람과 일한다는 데 동의하십시오. 그러나 그것을 바꾸지 않는 이유는 무엇입니까? 당신이 제안을 보는 것이 좋다면, 특히 빨리하는 것이 좋을 이유가 무엇입니까? 혹시 포럼에 대한 해결책을 묻지 않으셨습니까? 해결책은 모르는 사람들에게 주어질 수 있습니다. 당신은 사람들에게 당신과 경험을 공유하도록 요구하는 것입니다. 개선 방안을 빨리 제안하고 싶은 사람들이 빨리 제안 할 수있게 해 주시지 않겠습니까? 당신은 언제나 그것을 거절 할 수 있습니다. 경험을 공유하고 프로젝트 팀으로부터 피드백을 얻는 것입니다. –

0

는 네덜란드에서 이런 식 속담이 밖으로 시작하려면 그런 다음 당신이 도움이되는지 확인하십시오.

다른 사람의 실수를 더 이상 지적하지 않고 지적하는 것만으로 현명하게 보지 마십시오. 프로젝트에 도움이되지는 않을 것이고, 개발자의 역량을 떨어 뜨릴 수 있습니다. 게다가 대부분의 소프트웨어 제작자는 당신보다 프로젝트를 위협하는 문제에 대해 더 잘 알고 있습니다.

좋은 예 :

"..? 난 당신이 코드에서 기술 x와 y를 사용하는 것을보고 나는 당신이 이제까지 그 사용을 고려 했는가에 Z 좋은 경험있어"

예는

좋은 :.

"이봐, 나는이 소프트웨어를 큰 기쁨과 함께 매일 사용하는 내가 발견 한 파일의 로딩은 조금 느린 내가 코드를 확인하고 나는 좋습니다. 불행하게도 나는 패치를 만들 시간이 없으므로 버그 트래커에서 제안한 문제를보고했습니다. "

나쁜 예 :..

가 "야, 난 그냥 코드에 찾고 남자, 무슨 엉망 어떤 멍청한 놈은 변수에 대한 유용한 이름을 사용한다는 것을 알고 의심 할 여지 소프트웨어가 없습니다. 모두 불안정 해. "

간단히 말하면 피드백이 긍정적인지 확인하십시오.

+0

저는 그것에 대해 이야기하지 않았습니다 :-). 나는 그것을 표현하는 방법을 모른다. 예를 들어 보겠습니다. 이런 식으로 구현 한 것으로 나타났습니다. ... 이렇게 구현하면 x와 y의 이점을 얻을 수 있습니다. 가능한 스팸 댓글에 대해 사람들이 스택 오버플로와 같이 평판을 얻을 필요가있는 방식으로 수행 할 수 있습니다. 그들이 가진 후에 그들은 제안을 할 수 있습니다. 모든 프로젝트는 변경을 제안하는 데 필요한 최소 평판을 설정할 수 있습니다. 똑똑한 사람이 만든 것이라면 좋은 충고는 항상 좋은 것이라고 생각합니다. –

+0

또한 사람들이 스팸 메일을받을 수 있다는 것을 알고있는 것처럼 나쁜 쪽을 가리키며 프로젝트 사람들이 더 많은 것을 알기 때문에 어떤 변화도 제안 할 필요가 없습니다. 잘 알고있는 사람들과 좋은 조언을 줄 수있는 사람들 팀원들에게 줄 수 있습니다. 패치를 만들거나 다른 사람이 할 수 있는지 확인하기 위해 자격 증명을 확인할 필요가 없습니다. 그들은 단지 제안을하고 있습니다. 항상 그 사람을 받아들이거나 거절 할 수 있습니다. –

관련 문제