프로그래밍/코테 기반 지식

최고의 코딩을 위하여 지켜야 할 사항.

jinkwon.kim 2016. 12. 27. 22:18
728x90
반응형

최적을 코딩을 위하여 지켜야 할 사항. 

  1. 설계서 부터 작성해라.
  2. 모듈화를 해라
    1. 스택을 통한 메모리 접근 신경쓰지 마라 컴파일러가 최적화 다해준다
  3. 함수는 한가지의 동작만 해야한다. 
  4. 함수는 모니터 한페이지를 넘으면 안된다.
  5. 전역 변수 사용하지 마라
    1. 전역 변수는 컴파일러가 최적화를 못한다.
    2. 전역변수는 소프트웨어 유지보수에도 않좋다.
    3. 레지스터에 미리 로딩이 안되는 아키텍쳐가 많아서 로레벨에서도 최적화가 안되니 쓰리마라. 
  6. GCC 코딩 최적화
    1. https://gcc.gnu.org/onlinedocs/gcc/Optimize-Options.html
  7. 멀티 쓰레딩시 Task의 starvation을 신경 써라. 
    1. Task의 우선 순위를 정하는게 좋다.
  8. 주석은 Doxygen 형태로 달아라
    1. 그래야 문서화 하기 쉽다. 


페이스북 질문 실타래 

- 질문 

C 언어 기준입니다.

일반적으로 프로그래밍을 할때 모듈화를 많이 하는데요.

이렇게 모듈화를 많이 하게되면 기능별로 함수를 쪼개서 프로그래밍을 많이 하게 됩니다.

그런데 함수를 많이 쪼개서 사용하다보면 함수 호출시 Stack이 생성되고 파괴되고를 반복할텐데요. 그러면 메모리 접근은 당연히 많아지겠구요. 그럼 자연스레 처리 속도가 떨어지지 않을까 하는생각이 듭니다.

그래서 이런걸 생각하면 stack의 생성을 줄일수 있게 함수를 크기 자야 할것 같은데 이게 맞는지 궁금합니다.

그런데 함수를 크게 짜면 page fault가 발생할 활률이 높아 이것역시 메모리 접근이 일어날꺼 같거든요. 물론 모듈화보다는 적겠지요.

그래서 질문을 정리하면 , 모듈화는 과연 좋은 것인가 하는 것입니다.

물론 가독성 측면에서는 좋겠지요. 그러나 속도 측면에서도 좋을까하는 생각이 듭니다.


728x90
반응형