여러 자료를 참고하여 제가 직접 작성한 글입니다.

코드는 이해하기 쉬워야 한다. Language다. 기계와도 대화하지만 또 다른 사람과도 대화하는 수단이다. 무조건 간결하고 짧게 작성하는 것이 능사는 아니다. 3줄의 코드를 1줄로 줄였더라도 이해하는데 더 많은 시간이 소요된다면 줄인 의미는 반감된다.

그렇다고 지나치게 잘게 쪼개면 안된다. (어느 정도 선을 유지한다는게 이렇게 어렵다...) 재사용되지 않는 변수들이 마구 태어날 수 있다.

변수 이야기가 나와서 말인데 전역 변수를 남발하지 말자. 정말 전역적으로(글로벌하게) 사용되지 않는데도 전역 변수로 선언하여 사용하는 경우가 많다. 해석하기 어렵다. 원작자의 의도를 파악하기 어렵다. 가급적 지역 변수화하자.

메소드(함수)와 변수명, 상수명에는 의미를 부여하자. tmp, var1, var2, s1, s2는 어떤 의미도 담고 있지 않다. 또 어떤 단위를 갖는 변수라면 단위도 이름에 넣어주는 것이 좋다. 예를 들어 elapsed는 elpasedMs와 같이 사용할 수 있다. 그렇다고 지나치게 디테일할 필요는 없다. convertToString()은 toString()으로도 충분하다.

주석은 해석과 유지보수에 도움을 주지만 의미없는 주석도 많다. 예를 들어 코드만으로도 해석 가능한 내용을 굳이 주석으로 적을 필요는 없다. "설명 자체를 위한 설명을 달지 말라"라는 말이 있다.

때로는 유닉스 계열의 명령어를 사용한다. cat, grep, cut, awk, sed, sort, uniq 등을 이용하여 아주 쉽게 결과를 얻어낼 수 있는 경우가 많다. curl, wget은 훌륭한 네트웍 통신 도구이다.

계속 업데이트하겠습니다.