aster 2025-02-13 | parent | ★ favorite | on: 친절한 엔지니어링(kind.engineering)

위 자료를 바탕으로 개발에서는 어떻게 친절한 엔지니어링을 적용할 수 있는가
일명 KDD(Kindness Driven Development)를 AI 도움으로 만들어 보았습니다.

코드 작성

  • 주석과 문서화를 "왜?"에 중점을 두어 작성하세요. 코드가 존재하는 이유와 배경을 설명하는 것이 중요합니다.
  • 복잡한 로직에는 도메인 용어를 활용한 변수명과 함수명을 사용해 다른 개발자가 이해하기 쉽게 만드세요.
  • 새로운 기술이나 패턴을 도입할 때는 팀원들의 학습 곡선을 고려하세요.
  • 레거시 코드를 비난하지 마세요. 당시의 제약사항과 맥락이 있었을 것입니다.
  • 미래의 유지보수 담당자를 위해 엣지 케이스와 실패 케이스에 대한 처리를 문서화하세요.
    아키텍처 설계
  • 시스템 설계 시 운영팀과 QA팀의 관점도 고려하세요.
  • 모니터링과 디버깅을 쉽게 만드는 것도 친절한 설계의 일부입니다.
  • 확장성있는 설계는 미래의 팀원들을 위한 배려입니다.
  • 기술 부채를 관리할 때는 완벽한 제거가 아닌 "관리 가능한 수준"을 목표로 하세요.
  • 새로운 기능 추가가 쉬운 구조를 만드는 것이 중요합니다.
    코드 리뷰
  • 리뷰 요청 시 변경사항의 컨텍스트를 충분히 설명하세요.
  • "이렇게 하면 어떨까요?"와 같은 제안형 피드백을 사용하세요.
  • 긍정적인 부분도 반드시 언급하세요. "이 부분 정말 깔끔하네요"
  • 대안을 제시할 때는 그 이유도 함께 설명하세요.
  • 시급하지 않은 개선사항은 따로 이슈로 등록하여 현재 PR의 범위를 존중하세요.
    테스트 코드
  • 테스트 실패 시 명확한 에러 메시지를 제공하세요.
  • 테스트 케이스는 문서화의 역할도 합니다. 비즈니스 규칙을 잘 설명하는 테스트를 작성하세요.
  • 다른 개발자가 테스트를 쉽게 추가할 수 있는 구조를 만드세요.
  • 테스트 데이터는 이해하기 쉬운 실제 사례를 사용하세요.
  • 테스트 환경 설정을 자동화하여 진입 장벽을 낮추세요.
    배포와 운영
  • 배포 스크립트에 충분한 설명과 가이드를 포함하세요.
  • 장애 발생 시 디버깅에 도움되는 로그를 미리 준비하세요.
  • 설정 변경이 필요한 경우, 영향도를 문서화하세요.
  • 새로운 기능 출시 시 롤백 계획도 함께 준비하세요.
  • 운영 가이드는 신입 개발자의 관점에서 작성하세요.
    지식 공유
  • 트러블슈팅 경험을 문서화하여 공유하세요.
  • 새로운 기술 도입 시 학습 자료를 만들어 공유하세요.
  • 코드 작성 가이드는 "왜 이렇게 하기로 했는지"를 포함하세요.
  • 정기적인 기술 공유 시간을 통해 팀의 성장을 도모하세요.
  • 질문하기 좋은 환경을 만들어 주니어 개발자의 성장을 돕습니다.

따로 글로 써도 좋을 정도의 내용인데요 ㅎㅎ

굉장히 좋네요!

굉장히 좋은 댓글이네요