반응형

1. 변경이 쉽다. 

ㅡ 변경함에 있어서 해당요소의 경계가 명확하다.

ㅡ 변경함에 있어서 주변소스의 변경은 제로화한다. 

 

2. 반복이 없다

ㅡ 반복되는 부분을 하나로 만든다.

 

3. 이름짓기를 잘한다.

ㅡ 추상층이 높아 질 수록 보편적으로 사용하는 키워드를 사용하며, 가급적 GoF패턴의 명칭들은 그 의도와 비슷한 경우에만 사용. (자바쪽에 특히 오용된것들이 많습니다 )

 

4. 해당언어의 이디엄과 추구하는 방향에 맞춰 코딩한다.

ㅡ 예를들어 자바 코드짜는데 C처럼 짜면안되겠죠. 마찬가지로 코틀린 코드 짜는데 자바처럼 짜면 후지다라는 느낌이 듭니다.

 

5. 팀이 정한 컨벤션에 일치한다.

ㅡ 예외처리(가까이서 처리? 멀리서 처리? 등)나 로깅의 경우 답이 없기 때문에 일치화가 중요

ㅡ 탭사용규정,줄바꿈규정 등등

 

6. 바퀴를 재발명하지 않는다.

ㅡ 이미 잘 짜여진 기술이 있고, 변경 필요가 없다면 있는것을 사용해서 의사소통 비용줄임. 예를 들어 JVM에서 프록시 패턴을 굳이 스스로 만들기 보단 다이나믹 프록시 사용. 스프링지원기술들 사용

물론 발명할 필요성은 추후에 검토 합니다. C++의 STL이나 자바의 컬렉션이나 보편적 성능일뿐이지 특정상황에선 엄청느리니까요

 

7. 후임자가 큰 실수 할 여지를 줄인다

ㅡ 제약 상황을 많이 만들어 넣어서 후임자가  잘못하면 가급적 컴파일 타이밍에 에러를 내게 합니다.

8.추상화가 잘 된 코드 (오버엔지니어링 이슈가 있음)


9.잘 알려진 패턴이 잘 적용된 코드


10. 시대흐름에 맞는 코드 

ㅡ 모던C++, 모던자바


11.테스트 친화적 코드




이런것들이 잘 녹여진 코드를 보면 감동이 있죠.

 

https://okky.kr/articles/1221074?note=2779512에서 서 퍼온글

반응형

'etc' 카테고리의 다른 글

[영상편집]프리미어 프로 - system compatibility report  (0) 2023.05.02
자기소개  (2) 2022.09.16
504 gateway time-out 에러 해결방법  (0) 2022.09.08
proxy/reverse proxy, web server, load balancer 개념  (0) 2022.09.08
character encoding  (0) 2022.07.11

+ Recent posts