레야몬
3장: 코딩과 디버깅에 관하여 - 1 (43p ~ 50p) 본문
알고리즘/Algorithmic Problem Solving Strategies
3장: 코딩과 디버깅에 관하여 - 1 (43p ~ 50p)
Leyamon 2022. 10. 17. 20:39좋은 코드를 짜기 위한 원칙
- 간결한 코드를 작성하기
- 코드를 간결하게 작성하면 디버깅하기도 편하고 코드의 구현이 명확해진다.
- 매크로를 사용하면 코드를 간결하게 바꿀 수 있다.
- for(int j=0; j<i; ++j) -> FOR(j, i)
- 전역 변수를 사용하면 모든 함수에서 변수를 사용할 수 있기 때문에 편리하다. 단, 프로그래밍 대회에서 사용하는 코드는 간결하니 가능하지만 실무에서는 이렇게 사용하면 안 된다.
- 매크로를 사용하면 코드를 간결하게 바꿀 수 있다.
- 적극적으로 코드 재사용하기
- 재사용되는 코드가 있으면 함수로 만들어서 사용하는 것이 좋다. (디버깅하기 편리하다.)
- 표준 라이브러리 공부하기
- 표준 라이브러리를 사용하면 다른 사람이 코드를 볼 때 이해하기 쉬우며 이미 검증되어 있으므로 사용하기 편리하다.
- 항상 같은 형태로 프로그램을 작성하기
- 매번 알고리즘을 다양한 형태로 구현하면 오류가 발생하였을 때 제대로 알고리즘을 구현하였는지도 확인해야 하므로 똑같은 알고리즘은 똑같은 형태로 구현하는 연습을 해야 한다.
- 일관적이고 명료한 명명법 사용하기
- 원 내부 안에 좌표가 있다는 것을 반환하는 함수일 경우 어떤 경우에 1을 반환할지 알 수 없다. 이 경우에 단순 judge가 아닌 isInsidecircle이라는 함수 명을 사용하면 나중에 실수하는 경우가 줄어든다.
- 모든 자료를 정규화해서 저장하기
- -30도를 330도 690도 등등으로 저장할 수 있고 이는 여러 곳에서 오류를 불러일으킬 수 있으므로 항상 한 형태로 바로 바꾸어 사용한다.
- 코드와 데이터를 분리하기
- 코드와 상관없는 데이터는 분리한다.
- 코드를 간결하게 작성하면 디버깅하기도 편하고 코드의 구현이 명확해진다.
※현재 고등학교 등교 중인 학생입니다. 이제 알고리즘을 본격적으로 공부하기 시작해서 아직 초보입니다. 혹시 제가 잘못 알고 있는 점이나 더 좋은 풀이 방법이 있어 댓글에 남겨주시면 감사히 하나하나 열심히 읽어보겠습니다. 좋아요, 단순한 댓글 한마디라도 저에겐 큰 힘이 됩니다! 감사합니다.
'알고리즘 > Algorithmic Problem Solving Strategies' 카테고리의 다른 글
4장: 알고리즘 분석 - 1 (88p ~ 114p) (0) | 2022.10.24 |
---|---|
3장: 코딩과 디버거에 관하여 - 3 (63p ~ 87p) (0) | 2022.10.19 |
3장: 코딩과 디버깅에 관하여 - 2 (50p ~ 65p) (0) | 2022.10.18 |
2장: 문제 해결 개관 (21p ~ 42p) (0) | 2022.10.17 |
글을 쓰게 된 이유 (0) | 2022.10.17 |
Comments