개발자 99% 커뮤니티에서 수다 떨어요!
2022.02.19
1장
“아니, 잠깐만요! 상사가 시키는 대로 하지 않으면 짤린다구요!” (7p)
겉으로로 아닌 듯 행동해도 대다수 관리자는 진실을 원한다. 일정에 쫓기더라도 대다 수 관리자는 좋은 코드를 원한다
테스트 케이스가 없는 코드는 깨끗한 코드가 아니 다. 아무리 코드가 우아해도, 아무리 가독성이 높아도, 테스트 케이스가 없으면 깨끗하지 않다. (12p)
예술에 대한 책을 읽는다고 예술가가 된다는 보장은 없다. 책은 단지 다른 예술가가 사용하는 도구와 기법 그리고 생각하는 방식을 소개할 뿐이다. (19~20p)
좋은코드 나쁜코드 ? 나쁜 코드는 결국에는 자기의 일을 방해하고, 자기실력을 쇠퇴하는 길 밖에 안되는 것 같다. 또한 나쁜 코드를 사용함으로써 팀원과의 협업에서 무리한 지장이 가거나 이해하지 못하는 상황이 초래할 수도 있다.
코드를 잘 짜는건 결국에는 누군가에게 코드를 알려줌으로써 그 코드가 관연 우아한 코드라는 존재라는것이다. 테스트 코드를 통한 코드는 좋은 코드로 향하는 길이 될 수 있다.
하나의 코드를 작성하였을때 이것이 과연 적합한 코등인지 ? 부적합한 코드인지 확인하는것도 일이다. 코드를 작성하는데에는 시간이 적게 사용될 수 있지만, 이를 반복해서 읽고 테스트를 하다보면, 읽는 시간보다 이 코드를 좋은코드로 만들어가는 시간이 길어지게 될 것이다.
남이 보았을때 완벽하다고 보이는 코드 ? 보단 이것이 에러를 일으키거나 서버에 지장이 가게 하는 코드인가 ? 를 확인하는것도 일인것 같다. 하지만, 좋은코드를 아우르는 공통점은 주의깊게 코드를 작성하거나, 고치려고 살펴봐도 손댈곳이 없다는 코드가 아닌가 ?
정말 깨끗한 코드는 뭔지 잘 모르겠다.
11p의 데이브 토마스가 말하는 의존성은 과연 코드에서 사용되는 의존성을 말하는 것인가 ?
Literate Programming (문학적 프로그래밍)
프로그래밍을 할 때 컴퓨터로 컴파일 가능한 코드를 만드는 것보다 사람이 이해하기 쉬운 코드를 만드는 것에 중점을 두는 방법이다.