>  기사  >  웹 프론트엔드  >  문제 다루기

문제 다루기

DDD
DDD원래의
2024-09-14 10:16:03990검색

Dealing with issues

파일을 처리하고 설명과 함께 코드 블록을 출력하는 CLI 도구인 explainer.js를 만들었습니다. 따라서 파일에서 무슨 일이 일어나고 있는지 전혀 모르는 경우 도움이 될 수 있습니다.
Commander.js 및 Groq SDK를 사용하여 구축되었습니다!
@https://github.com/aamfahim/explainer.js

에서 확인해 보세요.

즉각적인 응답

코드 검토를 위해 내 파트너인 @sych_andrii(일명 Andrii)와 저는 디스코드 통화 기능을 사용했습니다. 일반적으로 코드 검토에서는 동기화 접근 방식을 선호합니다. 화상 통화와 화면 공유를 실시간으로 수행하면 git 문제에서 비동기식으로 수행하는 것과 달리 프로세스를 빠르게 추적하는 데 도움이 될 수 있습니다. 세부 사항이 많으면 비동기식도 실행 가능하지만 그런 경우는 거의 없습니다. 그래서 가능하다면 동기적으로 하는 걸 선호합니다.

우리의 첫 번째 로데오가 아니었어

저희 둘 다 코드 리뷰에 매우 익숙합니다. 우리 둘 다 서로의 코드를 검토했습니다. 서로 미리 알고 있었기 때문에 리뷰 부분이 훨씬 쉬웠던 것 같아요.

내가 먼저 할게, 넌 내 것을 나중에 해

제목 그대로. 내 파트너가 내 코드를 먼저 검토했습니다. 내 문제의 대부분은 README.md와 관련이 있었기 때문에 질문이 많았습니다. 그리고 나는 그에게 내 도구를 사용하게 했습니다. 그가 원했던 대로 초기 문제는 그가 OpenAI API 키를 사용하려고 시도했지만 Groq에서 오류가 발생했다는 것입니다. 그래서 우리는 Groq에서 생성한 API 키를 사용하여 시도했고 작동했습니다. 그런 다음 (기술적으로) 작동하는 OpenAI 기본 URL을 시도했지만 제공된 기본 URL이 올바르지 않다는 응답을 받았습니다. 그러다가 다양한 모델을 시험해 본 결과 Groq 지원 모델만 사용할 수 있다는 것을 알게 되었습니다.

이것은 그가 내 저장소에 제출한 문제입니다

내 저장소에 제출된 문제

  1. https://github.com/aamfahim/explainer.js/issues/9 README.md는 급하게 만든거라 정확한 정보가 많고 틀린 곳도 많았습니다.
  2. https://github.com/aamfahim/explainer.js/issues/10 Andrii는 gpt-4o 모델을 사용하려고 시도했지만 Groq가 이를 지원하지 않는 것 같습니다. 그런 다음 문제에 대한 결과를 제공하는 콘텐츠 안전을 위한 지원 모델을 시도했습니다. 그래서 README.md에서도 한계점을 언급해야 했습니다.
  3. https://github.com/aamfahim/explainer.js/issues/11 --outout은 아직 구현되지 않았지만 README.md 및 도움말 설명에 있었습니다.
  4. https://github.com/aamfahim/explainer.js/issues/12 -t 플래그가 제대로 구문 분석되지 않았습니다
  5. https://github.com/aamfahim/explainer.js/issues/13 예상 인수가 파일 경로에 대한 설명이 명확하지 않았습니다.

WSL 또는 Powershell?

그럼 다음은 제가 리뷰할 차례였습니다. 첫 번째 장애물은 설치였습니다. 처음에는 Ubuntu를 배포판으로 사용하여 기본 터미널인 WSL을 사용하고 있었습니다. 솔직히 말해서 저는 Python을 많이 사용하지 않으며 내 버전도 꽤 오래되었습니다. 그리고 파이썬을 설치한 기억도 없습니다. 그래서 버전 때문에 종속성을 설치할 수 없었고 어떤 이유로 버전을 업데이트할 수도 없었습니다. 그래서 저는 cmd로 전환했고 Windows 노트북에 Python이 설치되어 있다는 것을 알고 있습니다. 그래서 cmd를 사용해야 했는데 문제는 모든 명령 후에 --python 버전을 언급해야 한다는 것이었습니다. 그리고 그렇게 하려면 파일 디렉터리 어딘가에 있는 파일 경로도 전달해야 했습니다. 설정을 실행한 후에는 꽤 좋았습니다. 버그는 발견하지 못했지만 Readme 구조에 대한 피드백은 있었습니다. 또한 도구를 실행하려면 매번 API 키를 복사하여 붙여넣어야 하는 다소 지루한 작업이 필요했기 때문에 .env 지원을 요청했습니다. 또한 그는 파이썬으로 그것을 했습니다. 정말 대단해요!

Andrii의 저장소에 제기된 문제

  1. https://github.com/SychAndrii/infusion/issues/8 README.md를 따라가기가 약간 어려워서 몇 가지 권장 사항을 추가했습니다.
  2. https://github.com/SychAndrii/infusion/issues/9 사용할 때마다 API를 붙여넣지 않아도 되도록 .env 지원을 요청했습니다.
  3. https://github.com/SychAndrii/infusion/issues/10 도움말 섹션의 특정 부분에 약간의 리팩토링이 필요했습니다.
  4. https://github.com/SychAndrii/infusion/issues/11 파일에 관련 없는 내용이 있으면 오류가 발생하는 경우도 있고 발생하지 않는 경우도 있습니다.

다 고쳐졌나요?

모든 문제를 해결했습니다. 문제가 워낙 간단해서 시간은 많이 걸리지 않았습니다. 대부분의 작업은 Commander.js 문서를 통해 진행되었습니다. 그 사이에 리팩토링도 했습니다.

테스트하고 리뷰하는 과정에서 무엇을 배웠나요?

배운 교훈

가끔 개발하는 동안 소스에 빠져들기 쉽습니다. 나는 코드를 더 깔끔하게 만드는 데 너무 집중했기 때문에 README.md를 다시 생각해 보았습니다. 코드와 함께 문서화도 마찬가지로 중요하다고 생각합니다. 또한 ESM과 함께 Node에서 Pure JS를 사용하는 것은 재미가 없습니다. 내가 전혀 알지 못했거나 잊어버린 순수 JS에 대해 많은 것을 배웠습니다. 이는 sting을 적절한 데이터 유형으로 변환하는 약칭이며 화살표 메서드에서는 인수를 사용할 수 없습니다. 그리고 저는 이 의견에 진심으로 동의합니다.

위 내용은 문제 다루기의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.