좋은 가독 방법 (code reading, 코드 리딩)

2021. 12. 19. 17:21Software Engineering

    목차
반응형

코드 reading 방법

코드의 reading 시에는 핵심부분만 이해하도록 한다.

리눅스 토발즈 역시 “How to work” 아닌 “What to do” 파악함을 강조 했다.

      

What to do 전체 code 30% 이하

Interface를 통한 design을 통해서 전체의 흐름과 관련있는 부분만 파악한다.

Encapsulation으로 abstraction을 강조한다.

 

Static function, private member 같은 것들은 전체 흐름과는 크게 상관없는 코드인 경우가 대부분이다.
여러 coding pattern을 익혀 놓는다. (e.g., Design pattern, Refactoring by Martin Fowler)

ex. Iterator, document-view pattern등은 여러 곳에서 많이 쓰이기 때문이다.


여러 SW architecture pattern을 익혀 놓는다.

Refer to " An Introduction to Software Architect" written by David Garlan and Mary Shaw at January 1994

 

모든 program 중심은  Class struct 이다. 즉, include (header file) 내에 prototype 같이 중심이 되는 내용들이 담겨있다.  만약 이렇게 작성되어 있지 않은 코드라면분명히 spagetti code 것이다.

 

 

 

좋은 코드 가독 방법

 

1.     Header 먼저 살펴본다

2.     define 무시하자

3.     compiler 최대한 활용하자. (전처리기를 돌란 소스를 분석하면 à 1) 전처리기 소스 오류 분석 용이 2) 전처리기가 적용된 이후의 코드이므로 가독성 증가)

4.     Beautifier 사용하자. (소스코드를 원하는 style 재정렬하는 program이다 – 유명한 indent 많이 사용한다.)

ex. http://www.gnu.org/software/indent/

http://faqs.org/docs/Linux-HOWTO/C-C++Beautifier-HOWTO.html

5.    프로그램의 빌드 구조를 이해한다.

6.    코드를 그림으로 (설계자료를만든다è설계자료나 코드나 동일해지는 그런 자료를 만들면 안되겠죠.

7.    Callstack 유의한다. (어디를 보고 있는지 잊지 말아야 한다)

8.    코드 분석에 도움이 되는 tool 이용한다. ex. Vim, gVim, souce insight 

 

 

l 개발을 하는데 있어서 시간을 갉아먹는  요인중 하나.설계의 성급함

 

 

Cf. windows에서..

1)     Mutex semaphore  차이점  하나

èMutex 소유권 개념을 지닌다.( 내용이 궁금하다면 직접 물어봐 주세요~^^)

 

2)     여러 macro들을 이미  알고 계시겠지만,

##

#

__LINE__ __DATE__ __FUNCTION__

등등이 있다. 

 

#@와 같은 것도 있다. 

반응형

'Software Engineering' 카테고리의 다른 글

Agile scrum  (0) 2022.11.11
Project Manager 역할  (0) 2022.01.09
UML은 언제 사용하는가?  (0) 2021.12.19
조직 관리 방법 - by Joel Spolski  (0) 2021.12.19
성과가 낮은 직원 - by Joel Spolski  (0) 2021.12.19