좋은 문제 쓰기

훌륭한 프로젝트는 모두 사용자 의견을 바탕으로 만들어집니다. Blockly는 GitHub 문제를 사용하여 의견을 추적합니다. 이 페이지에서는 개발자가 읽고 응답하기 쉬운 문제를 작성하여 버그 신고/기능 요청이 해결될 가능성을 높이는 방법을 자세히 설명합니다.

사전 작업

질문 시간

여러분의 소중한 의견을 기다리고 있습니다. 하지만 GitHub 문제는 그다지 좋은 매체는 아닙니다. 궁금한 점이 있으면 개발자 포럼으로 이동하세요. 이곳에서 질문하면 수년간 Blockly를 사용해 온 개발자들로 가득 차 있기 때문에 시기적절하고 철저한 답변을 받을 가능성이 더 높습니다.

중복 확인

모든 유형의 문제를 작성하기 전에 항상 일치하는 문제가 있는지 확인하는 것이 좋습니다. 이러한 경우 직접 작성하지 않아도 됩니다. 따라서 작성을 시작하기 전에 중복 또는 관련 문제를 검색해 보세요.

일치하는 문제가 발견되면 '좋아요'를 표시하거나 내 생각을 설명하는 댓글을 추가하세요. 이는 버그 신고 및 기능 요청에 특히 중요합니다. 문제가 많은 관심을 받고 있음을 개발자가 알게 되면 해결할 가능성이 높아집니다.

버그 신고

버그를 발견했다고 생각하시나요? 좋습니다. 우리는 이 프로젝트를 가능한 한 안정적으로 유지하기를 바라기 때문에 버그 신고를 듣는 것을 좋아합니다. 버그를 수정할 수 있는 몇 가지 단계는 다음과 같습니다.

  1. 중복 항목 확인
  2. 증거 수집
  3. 문제 찾기
  4. 복제 보강
  5. 원인 제안
  6. 문제를 작성하세요.

증거 수집

일반적으로 버그에 정보가 많을수록 좋습니다. 제공할 수 있는 몇 가지 사항은 다음과 같습니다.

  • 스크린샷이나 GIF는 버그로 인해 시각적 문제가 발생하는 경우 매우 유용합니다.
  • 샘플 코드는 버그가 특정 종류의 블록이나 작업공간의 구성에만 영향을 미치는 경우 유용합니다.
  • 호스팅된 사이트는 특정 환경 외부에서 버그를 재현하는 데 문제가 있는 경우에 유용합니다.

문제 찾기

핵심 라이브러리, 플러그인, 예, Codelab 사이에 Blockly 코드가 많이 있습니다. 문제가 발생한 정확한 위치를 알려주세요.

문제가 핵심인 경우 어떤 구성요소에서 비롯되나요? 예를 들어 도구 상자, 확대/축소 컨트롤 또는 라이브러리 블록에 문제가 있을 수 있습니다. 최대한 구체적으로 작성하세요.

문제가 블록리 샘플에 있다면 어떤 플러그인, Codelab 또는 예시에 있는지 파악합니다. 여러 곳에서 동일한 버그가 발견되면 Google에 알려주세요.

재현율 높이기

재현 가능한 경우에만 버그를 수정할 수 있으므로 문제를 제출하기 전에 버그가 발생할 수 있는 확실한 방법이 있는지 확인하세요.

개발자에게 버그를 재현하는 방법을 알려주는 번호 매기기 목록이 표시됩니다. 예를 들면 다음과 같습니다.

  1. X Codelab을 엽니다.
  2. Y 페이지로 이동합니다.
  3. Z 예시 코드를 실행합니다.
  4. W와 같은 비정상적인 동작을 관찰합니다.

문제가 Blockly 핵심인 경우 playground에서 재현해 보세요.

원인 제안

버그가 발생하는 이유를 알고 있다고 생각되면 그 정보도 포함합니다. 이 경우에도 최대한 구체적으로 입력하세요.

문제를 작성합니다.

버그 신고를 작성할 시간입니다. 저장소를 선택합니다.

문제 템플릿의 모든 섹션을 작성해야 합니다(여기에 자세히 설명되지 않은 섹션 포함).

버그 신고에 관심을 가져 주셔서 감사드리며, 문제 해결에 도움이 되기를 바랍니다.

다음 단계

  • 버그 신고는 분류용으로 자동 태그됩니다.
  • Blockly팀의 대기 중인 구성원이 살펴보고 질문을 할 수도 있습니다. 또한 버그를 체계적으로 정리하는 데 사용하는 라벨도 추가합니다.
  • 문제가 'Help Wanted'로 표시될 수 있으며 이 경우 소유권을 주장하고 작업을 시작할 수 있습니다.
  • 문제 해결을 위해 Blockly팀의 직원에게 할당될 수 있습니다.
  • 문제에는 언제 완료될지를 나타내는 분기별 마일스톤이 표시될 수 있습니다.
  • 이 문제는 Icebox 마일스톤에 있을 수 있습니다. 즉, 가까운 미래에 이 문제를 해결할 계획이 없습니다.
    • 이는 빈도가 낮은 문제나 알려진 해결책이 있는 버그의 경우에 발생할 수 있습니다.
    • Iceboxed 문제도 계속 작업할 수 있습니다.
  • 이 문제는 Bug Bash 백로그 마일스톤에 배치될 수 있습니다. 즉, 긴급하지는 않지만 해결하고자 합니다.
    • 매 분기 말에 팀은 Bug Bash 백로그 마일스톤에서 가져온 버그를 처리하는 데 몇 주를 보냅니다.
  • 필요한 경우 문제를 Blockly 코어에서 blockly-samples로 (또는 반대 방향) 이동할 수 있습니다.
  • 문제가 종료된 것일 수 있습니다.

기능 요청

Blockly를 개선하기 위해 바꾸고 싶은 사항이 있나요? 플러그인, 예시, Codelab에 관한 아이디어가 있나요? 좋아하는 주제가 있을 수도 있고 개선할 방법을 생각해 냈을 것입니다. 그렇다면 잘 찾아오신 것입니다. 다음은 응답을 받는 유용한 기능 요청을 만드는 데 도움이 되는 단계입니다.

  1. 중복 항목 확인
  2. 요구사항 확인
  3. 의견 수집
  4. 기능 요청 작성하기

요구사항 확인하기

모든 아이디어가 이 저장소에 반영될 수 있기를 바랍니다. 하지만 안타깝게도 Google은 사람일 뿐이므로 어떤 종류의 요청을 처리할지에 관한 몇 가지 지침이 있습니다.

다음은 다양한 프로젝트 카테고리에 대한 가이드라인입니다.

  • Blockly Core
  • 플러그인
  • 예: Blockly 기능 한두 개만 사용하는 방법을 보여줍니다.
  • Codelabs: 단일 작업을 완료하거나 단일 동작을 구현하는 방법을 보여줍니다.

하지만 이는 엄격하게 적용되는 규칙이 아닙니다. 이는 사용자가 기능 요청을 작성하기 전에 Google이 필요한 사항을 파악하기 위한 것입니다.

문제가 있는지 잘 모르겠으면 개발자 포럼에 게시해 보세요. 아이디어가 승인되지 않더라도 서드 파티 플러그인 또는 튜토리얼로 구축해 주세요.

의견 수집

제출하기 전에 아이디어를 장신구와 다이어그램으로 100% 구체화할 필요는 없지만 찾고 있는 대상에 대한 탄탄한 아이디어가 있어야 합니다. 다음은 글을 작성하기 전에 숙고해 볼 만한 몇 가지 좋은 질문입니다.

  • 이 기능이 필요한 이유는 무엇인가요?
  • 이 기능으로 문제가 해결되나요?
  • 이 기능의 대상 사용자는 누구인가요?
  • 이 기능이 고객에게 제공되는 이유는 무엇인가요?
  • 동일한 결과를 얻을 수 있는 대체 옵션으로는 무엇이 있나요?

이러한 사항을 파악했다면 이제 유용한 기능을 요청할 수 있습니다.

기능 요청을 작성하세요.

이제 기능 요청을 작성할 준비가 되었습니다. 저장소를 선택합니다.

문제 템플릿의 모든 섹션을 작성해야 합니다(여기에 자세히 설명되지 않은 섹션 포함).

기능 요청을 제출하는 데 관심을 가져 주셔서 감사합니다. 감사합니다.

다음 단계

  • 기능 요청에 분류를 위해 자동으로 태그가 지정됩니다.
  • Blockly팀의 대기 중인 구성원이 살펴보고 질문을 할 수도 있습니다. 또한 버그를 체계적으로 정리하는 데 사용하는 라벨도 추가합니다.
  • 이 기능은 'Help Wanted'로 표시될 수 있으며 이 경우 소유권을 주장하고 작업을 시작할 수 있습니다.
  • 이 기능은 구현을 위해 Blockly팀의 팀원에게 할당될 수 있습니다.
  • 필요한 경우 기능 요청을 Blockly 코어에서 블록리 샘플 (또는 반대 방향)으로 이동할 수 있습니다.
  • 기능 요청이 종료될 수 있으며, 이 경우 기능을 서드 파티 플러그인으로 구현할 수 있습니다.