책- 정리/Code Complete2

[Code Complete 2] 구현시 결정해야 할 핵심 사항

jinkwon.kim 2021. 10. 26. 23:41
728x90
반응형

언어

프로그래밍의 목적에 따라 언어를 잘 골라야 하지만 대부분 고수준의 언어가 생산성이 좀더 좋다. 

그리고 생성성이 비슷 하다면 익숙한 언어를 사용하는게 효율 성이 훨씬 좋다고 한다. 

마지막으로 모든 프로그래밍 언어에는 장단점이 있다. 그걸 알고 모르고는 개발 생산성에 큰 영향을 미친다고 본다.

 

프로그래밍 규약 

품질이 우수한 소프트웨어는 아키텍처의 개념적 무결성과 저수군 구현 사이의 관계가 명확하다. 

구현은 반드시 아키텍처와 일관성을 유지해야 하며 내 부적으로도 일관선을 유지해야한다. 그것이 바로 변수 이름과 루틴 이름, 형식 규약, 주석 규약에 대하나 가이드라인의 핵심이다.

 

- 아키텍처 가이드라인을 통해서 프로그램 구조적인 균형을 유지

- 구현 가이드라인을 통해서 각 클래스가 전체 적인 설계의 구성원으로서 각각의 역활을 수행할 수 있도록 프로그래밍
  수준의 통일성 유지한다.

 

코드가 일관성있게 작성되지 않으면 나중에 유지보수 할 때 매우 힘들다. 

 

기술 흐름 파악

많이 발전된 프로그래밍 언어를 사용하면 지원하는 것이 많기 때문에 언어적으로 고생할이 없다. 그래서 언어적 제한을 덜 받기 때문에 기능 개발에있어서 생산성이 높아진다.

 

구현 실천법 선택

체크 리스트 

1) 코드작성 

- 설계를 몇 퍼센트 미리 해놓고 몇 퍼센트를 개발 중에 할 것 인가?

- 이름과 주석, 배치에 대한 코드 규약을 정의했는가?

- 오류 조건을 처리하는 방법이나 보안 문제를 해결하는 방법, 클래스 인터페이스에 사용될 규약, 재사용된 코드에 적용될 기준, 코드를 작성하면서 성능을 어마나 고려할 것인지 등 구체적인 코드 작성 방법을 정했는가?

- 현재 기술적으로어느 단계에 있는지 파악하고 그에 따라 접근 방법을 적절하게 조절했는가? 필요한 경우, 언어에 의한 프로그래밍 때문에 제약을 받기보다 어떻게 하면 언어를 활용하여 프로그래밍할 것인지 를 살펴봤는가?

 

2) 협동 작업

- 통합 절차를 정의했는가? 즉, 코드를 마스터소스에 체크인하기전에 개발자가 거쳐야하는 구체적인 단계를 정의했는가?

- 개발자가 프로그램 작업을 할 때 짝을 지어서 할것인가, 혼자서 할 것인가? 아니면 두 가지 방법을 어느정도 결합해서 할 것인가?

 

3) 품질 보증

- 개발자가 코드를 작성하기 전에 코드에 대한 테스트 케이스를 작성할 것인가?

- 처음에 하든 나중에 하든 상관없이 개발자가 코드에 대한 단위 테스트를 작성 할 것인가?

- 개발자가 코드를 체크인하기 전에 디버거 코드를 살펴 볼것인가?

- 개발자끼리 서로 코드를 리뷰 할 것인가?

 

4) 도구 

- 버전관리 도구를 선택 했는가?

- 사용할 프로그래밍 언어와 버전또는 컴파일러버전을 선택했는가?

- J2EE나 마이크로소프트 .NET과같은 프레임워크를 선택했든지 프래임워크를 사용하지 않기로 확실하게 결정했는가?

- 표준에 맞지 않는 언어 기능을 사용할지 결정했는가?

- 편집기, 리팩토링 툴, 디버거, 테스트 프레임워크, 문법 검사기와 같이 앞으로도 사용할 툴을 정하고 갖췄는가?

 

 

728x90
반응형