[소프트웨어 공학] 코딩

상준·2024년 6월 4일
0

소웨공

목록 보기
7/10

좋은 코딩 기법

좋은 소프트웨어 코드의 6가지 공통점

1. 가독성(readability)

의미있는 변수 이름을 사용, 줄 간격, 들여쓰기를 통해 가독성을 높임

2. 주석(comments)

코드의 기능과 목적을 설명하는 주석이 필요함

3. 간결한 코드

  • 각 코드가 각자의 기능을 훌륭히 수행해야 함
  • 중복 코드를 경계하고 한 가지 기능을 수행하도록 만들어야 함

4. 탄력적

  • 현재와 미래의 사항을 모두 염두에 두어야 함
  • 최소한의 수정으로 미래에 필요한 사항을 수용할 수 있도록 개발할 수 있어야 함

5. 관리성(Manageability)

버그를 수정할 수 있어야 함
ex) URL, 액세스 키, 비밀번호 등을 직접 하드 코딩하는 방식으로 개발해선 안됨

6. 기능

  • 코드가 본래 기능을 수행해야 함
  • 배포 전에 충분히 점검해야 함

좋은 코드 작성을 위한 규칙

1. 최적화보다는 가독성이 우선

모듈화 개념이 잘 반영된 코드 작성을 해야 함

2. 아키텍처 우선 개발

코드를 작성하기 전에 모듈화 방법, 테스트 및 디버깅 방법 등을 먼저 생각하고 이해해야 함

3. 필요한 경우 테스트 커버리지를 고려

팀이 작고 코드가 빠르게 변하는 경우 테스트가 필요 없음

4. 간단하고 단순하게 코딩

불필요한 추상화 및 패턴 적용 없이 필요한 일만 수행하도록 코드 작성

5. 주석을 보조적으로 사용

메서드 정의와 사용법을 간단한 주석으로 작성

6. 모듈 간에 강한 결합, 서비스 간에는 느슨하게 결합해야 함

마이크로 아키텍처를 사용하면 소프트웨어 분산 처리(프로세스 분산)도 가능해짐

7. 코드 리뷰가 항상 좋은 것은 아님

코드 리뷰는 내재된 오류를 찾는 것이 목적

8. 리팩토링은 작동하지 않음

  • 프로토타입을 단기간에 개발하고자 한다면 리팩토링이 적용될 수 있는 여지는 있음
  • 구조화된 코드를 작성할 수 있다면, 굳이 추후에 리팩토링할 필요가 없음

9. 자동화 도구 사용

비용 절감, 품질 향상

10. 취미

  • 새로운 아이디어를 개발할 기회
  • 집중도와 생산성 향상에 효과적임

11. 여유 시간에 새로운 것을 학습

새로운 기술 적용, 새로운 환경에서 개발을 수행함으로써 새로운 스타일의 코드와 기술 변화에 대응해야 함

코딩 가이드라인

MISRA-C 코딩 표준

자동차에 탑재 소프트웨어의 신뢰성 및 호환성을 높이기 위해 개발한 C 프로그램 코딩 표준

오픈 소스 기반 개발

오픈 소스 활용 시 주의 사항

오픈소스 소프트웨어의 라이센스 권한 확인

  • 공개된 코드를 사용할 수 있는지, 수정할 수 있는지, 수정하여 재배포할 수 있는지 확인 필요
  • GPL, LGL, BSD, Apache, MIT 등의 라이선스 형식
  • 각각 다른 수준의 제한 또는 제약이 걸려 있음
  • 오픈 소스 소프트웨어 라이선스 유형

지속적인 오픈 소스 관리

  • 오픈 소스에 대한 라이선스가 변경되거나 새로운 취약점은 없는지 정기적으로 점검
  • 오픈 소스 목록 관리 및 자동화된 점검 및 보고 기능을 활용

철저한 기술 검토

  • 버그 리포트, 인터페이스, 내부 처리 데이터 형식 일치 여부 등을 점검
  • 추후 시스템 확장 고려 시, 상호 연동에 문제가 없는 구조로 개발된 것인지 점검

오픈 소스 변경 사항 기록

  • 통합되는 오픈 소스 변경 사항을 기록하고 주석 처리
  • 변경 사항을 쉽게 추적할 수 있도록 링크를 제공
  • 오픈 소스 가이드라인을 조직 차원에서 제공
profile
컴공생 공부

0개의 댓글