|
저는 올해 4년차 프로그래머 입니다. 원래 프로그래밍 공부는 PASCAL 을 배우면, 굉장히 구조화 적이고 깔끔한 코드에 맛을 더욱 더 음미할 수 있게 됩니다. 현재 중소기업에서 일하고 있으며, 사실 다른 회사에서 구현한 스텍 구조를 가지고, 일을 하는 경우가 많습니다.
여러분들도 아시다 싶이 스텍은 간결하고, 그 기능이 명확해야 합니다. 여러분들의 코드가 Standard 형식으로 클래스를 구현하거나 남이 여러분의 코드를 컴파일하여, 라이브러리나 스텍으로 사용하려고 할때, 여러분들의 코드의 정숙성과 구조는 명확해야 합니다.
저는 프로그램을 잘 짜는 사람은 그 코드가 그만큼 간결하며, 어떠한 전문 지식을 가진사람도 그 말이 어려운 것 보다는 쉽고 '잘' 가르치는 사람이 정말 실력있는 사람이라고 생각합니다.
'좋은 코딩 나쁜 코딩' 이 책은 Yes24 에서 다른 책을 사고 남은 적립금으로 구입을 했는데, 재미있게도 그 다른 책은 Microsoft , CODE COMPLETE 라는 책이었습니다. 역시 프로그래밍의 코드의 알기쉬운 구조와 어떻게 하면, '잘' 짜여진 프로그램을 짜는 가에 대한 해설서였지요.
하지만 '좋은 코딩 나쁜 코딩' 리뷰에서 저 책을 다루는 것은 맞지 않아 간단히 결론만 말씀드리자면, 그 책은 반품을 하고 있습니다. 왜냐하면, '너무나' 당연한 사실을 그 책은 서술하고 있었거든요.
하지만, 이 책은 여러분들이 정말 간결하고, 잘 잊기 쉬웠고, 남이 보았을 때 '정말 잘 구현한 코드' 를 구현하는 프로그래머가 꿈이라면 한번 쯤 봐도 괜찮을 책입니다. 책 크기는 좀 다른 책보다 작은 편입니다.
한 1년차 정도? 이제 프로그래밍 좀 할만하다.. 라고 하시는 분들이 보시면, 한번 정리가 되는 책이지만, 이미 베타랑이 되신 분들은 후배들에게 한번 권할 수 있는 책입니다.
헝가리안 표기법 아시지요? 그런 스타일 정말 좋아하시고, 특히 '변수 이름' 결정하기 어려운 분들 동감하시면서 보시면 좋을 듯합니다. [인상깊은구절] 코딩 스타일은 단위 프로그램을 정교하게 만들어주는 공구와 같다. 이런 의미에서, 프로그래머가 공구를 다루는 방법을 익히지 않고 프로그램을 작성한다면 조약한 프로그램을 만들기 쉽다. 프로그래머들이 코딩 스타일을 익히는 것은 기계를 다루는 사람이 각종 공구를 익히는 것만큼 기본적인 일이다. |
| 온라인 서점에서 책을 산다는 것은 여러가지 단점을 안고 있다.(물론 장점도 많다) 그 중 가장 큰 단점은 대충이라도 책을 읽어보고 살 수 있는 그런 이점이 없다는 것이다. 물론 목차가 있고 본문에 대한 간략한 설명도 있다. 더구나 요즘은 책 내용일부를 웹에 게시해서 독자가 읽어볼 수 있도록 하고 있다. 하지만 그래도 좀 부족한 것은 사실이다. 서론이 길었는데 본론을 얘기하자면 이 책이 이런 단점의 극명한 예가 아닐까 생각한다. 책의 제목이나 목차에서 느껴지는 이미지가 매우 알차보였고 또 많은 사람들이 읽었다고 해서 기대감을 갖게해서 선택하는데 별로 고민을 하지 않았다. 하지만 읽는 내내 돈이 아깝다는 생각을 지울 수 없었다. 그 내용이 특별히 잘 못되었다는 것은 아니다. 분명 대부분이 일리가 있는 이야기이지만.. 문제는 너무 당연한 얘기를 책 한권에 걸쳐 풀이를 하고 당위성을 설명하면서 심지어는 저자가 설명하는 스타일 이외의 코딩스타일에 대해서는 다소 안좋게 기술하데 있다. 노골적으로 표현하지는 않았지만 다른 스타일의 코딩법은 무시하는 냄새가 난다는 얘기다. 저자가 제시하는 코딩스타일은 모두 C언어를 기준으로 설명하고 있는데 개인적인 생각에 프로그래머의 코딩 스타일보다는 C언어 자체가 여러스타일로 코딩을 하도록 유연성을 제공하는 것이 더 큰 문제라고 본다. |
|
[좋은 코딩 나쁜 코딩 / 박진수 / 한빛미디어] 글쓰기에는 문법이 존재한다. 의미를 제대로 전달하기 위해서는 문법 체계에 맞게 글을 써야 한다. 글쓰기에는 또한 편집도 중요하다. 가독성 높은 편집이 보기에도 좋고 읽기에도 좋다. 당연히 더 쉽게 의미를 파악할 수 있다. 프로그래밍도 일종의 글쓰기다. 알고리즘을 짜고 명령어를 나열하여 내가 원하는 기능을 이끌어내는 글쓰기다. 프로그래밍은 코딩작업으로 완성이 된다. 코딩은 명령어를 입력하는 작업을 말하는데, 이때 글쓰기와 같은 문법이 적용된다. 명령어 자체가 문법이지만, 가독성 높은 편집과 올바른 작동을 유도하는 코딩은 프로그램의 효과를 높인다. 명령어를 나열하는 것만으로는 만족할만한 프로그램을 만들 수 없다. 저자는 코딩할 때 신경 써야 할 점들에 대해서 이야기 한다. 들여쓰기, 줄바꾸기, 변수 설정, 이름 설정과 같은 기초 내용부터 비효율적인 코딩 습관, 잘못된 코딩, 정밀한 프로그램을 만드는 코딩, 다른 컴파일에 이식하기 쉬운 코딩 등 고급 내용과 코딩 노하우와 몇 가지 팁에 대해서도 설명하고 있다. 정규과정으로 프로그래밍을 배운 사람들이라면 교육시간에 충분히 습득을 했을 내용이지만, 그 중에서 혹시 제대로 못 배운 사람들, 독학으로 프로그래밍을 배운 사람들은 한번 쯤 책을 읽어볼만하다. 프로그래밍을 하다보면 자기만의 방식을 터득하게 되고, 그 방식을 고수하게 된다. 한번 몸에 밴 습성은 쉽게 고쳐지지 않는다. 처음 프로그래밍을 배울 때, 올바른 코딩 방법을 배워야 한다. 혼자 프로그램을 짜서 사용하는 경우라면 모를까 큰 프로그램을 만드는 프로젝트 참여자들은 특히 코딩 규칙에 신경 써야 한다. 프로그램 짜는 게 반, 유지·보수 하는 게 반이라고 한다. 효율적으로 보수하려면 이렇게 규칙에 맞게 표준화 되어야 한다. 나 아닌 다른 사람이 들여다보고 쉽게 프로그램을 파악할 수 있으려면 구성원들 사이에 코딩 규칙(코딩 스타일)이 명확히 정해져야 한다. 저자는 C/C++을 기준으로 설명을 하지만, BASIC 계열, JAVA, C# 에서도 공통으로 적용할 수 있는 내용들이다. 올바른 코딩 스타일은 프로그램 개발 기간을 단축시키고, 유지보수를 쉽게 하고, 오류 없는 정확한 프로그램을 만들 수 있게 해준다. 프로그래머의 길로 들어선 초보자, 작은 프로그램이라도 작성해서 사용하는 사람들은 읽어볼만하다. (다만 2011년 기준으로 절판이다.) 지엽적인 코딩 스타일도 중요하지만 무엇보다도 프로그래밍 언어를 선택하는 행위 자체가 코딩스타일보다 더 중요한 영향을 끼친다. 자신의 작업에 맞는 언어를 찾고 배우는 부지런함도 필요하다. 게으른 프로그래머는 살아남지 못한다. |
| 어느정도 현재 잘못 알려진 내용이나 표준C 라입, 혹은 C++에 관한 내용 기반으로 생각했는데 그게 아니더군요. 읽기 쉬운 코드를 위한 방법론도 어느정도 잘못 전달된듯 보입니다. 아 다르고, 어 다르단 말이 있듯이, 저자가 제시한 방식을 '비롯하여' 읽기 쉬운 코드가 좋다는 쪽으로 이야기를 했어야했다고 보는데 저자가 제시한 방식만이 옳다는 식으로 이해될수도 있는 내용들 (실제 저자분의 생각은 그렇지 않으셨겠습니다만)은 조금 아쉬웠습니다. 게다가 몇몇 내용의 경우는 실무자들도 이런 사람이 있나? 싶은 내용도 일정 부분 포함되어, 페이지 메꾸기 용이 아닌가...싶은 생각까지 들었습니다. 뭐 어찌되었든간에 의도는 좋았고, 결과물도 나쁘지는 않았습니다만, 개정판이 나온다면 여러가지로 손볼곳이 있어보였습니다. |
|
도서관에서 우연하게 찾은 책으로 읽다보니 재미있다?! 란 느낌을 받은 책.
개인적으로 이 책은 이제 프로그램을 막 시작하는 사람들이 읽으면 좋겠다라는
생각을 했다.
숙련된 프로그래머의 경우 그들만의 특성이 있고 그것이 몸에 배어버려 고치기 힘들
것으로 예상된다.
하지만 이제 프로그램을 처음 시작하는 사람들이야 말로 좋은 습관이 어떤 것인지
알고 그것들을 몸에 익힌다면 그보다 좋은 것은 없을 것이다.
자세한 프로그래밍을 위한 책이라기 보다.. 좋은 습관을 위한 프로그래머의 소설책?
이라고 하는 것이 좋을 것 같다.
가끔 가끔 머리 식히며 손쉽게 읽어나갈 수 있는 ^^ |
| 본격적으로 프로그래밍을 시작한지는 1년 정도 된 초보 프로그래머입니다. 현재 근무하는 회사에서 이 코딩 스타일이라는 것 때문에 곤혹을 치루고 있구요. (인수 받은 프로그램 코드가 하나같이 쳐다보기도 무서울 정도입니다. 함수 하나가 500줄이 넘는 경우도 있고, 화려한 GOTO 문 난무에 으~ -_-;) 그 전부터 코드 스타일에 대해 생각을 많이 했었는데, 정형화 된 틀이 없어서 코딩 중에 고민할 때도 많았습니다. 그런데 이 책 한권으로 그 틀이 어느정도 잡힌 것 같습니다. 앞으로 코딩할 때 많은 도움이 될 것 같습니다. 뭐 몇년씩 프로그램을 짜신 분들한테는 뻔한 이야기들이겠지만, 초보프로그래머들 한테는 정말 큰 도움이 될 것 같습니다. 강추입니다... ^_^ 한가지 아쉬운 것은 오자가 많다는 겁니다. 심지어 예제 코드에도 애매한 오타가 있어서 책을 읽다가 직접 코딩해서 테스트 해야 할 때도 있습니다. 하여튼... 내용은 별 5개로 강추입니다...^_^ |
| 전 독자평을 쓰신 분이 Code Complete(프로그램 완전정복)와 두권의 책을 사서 이 책을 읽은 후 Code Complete는 반품을 하고 있다고 해서 이 책을 구매하게 되었습니다. 프로그램 완전정복이라는 책을 읽은 것은 1998년 이었던 것 같습니다. 그책을 읽고 많은 도움을 받고 프로그램을 다시 한번 생각하게 되었습니다. "좋은 코딩..."은 코딩스타일의 중요성에 대해서 강조를 하고, 짧은 예제를 통해서 해결 방법도 보여주고 있습니다. 현재는 C로 개발 하지 않고 있지만, C로 개발을 하고 있을 때를 반성하게 되더군요. 너무 무책임하게 프로그램을 해서 현재 유지보수 하시는 분들에게 피해를 주지 않고 있을까? 코딩스타일은 언어별로 조금씩은 다르지만, 저자가 말하는 바와 같이 다른 프로그래을 사용하시는 분들도 많은 도움이 되리라 생각됩니다. 전 전산직 공무원이기 때문에 타 SI 업체에서 개발한 프로그램들을 유지보수 하게 되면서 보게 됩니다. 점검하다 보면 화가 날때가 많이 있습니다. 왜 이렇게 밖에 프로그램을 하지 못할가? 코딩 책자가 데이터베이스 튜닝 책자등으로 공부를 한 사람들이나... 처음에는 잘 돌아가던 프로그램이 몇달이 지나고 자료가 쌓이기 시작하면 서서히 문제가 발생하는 경우가 있습니다. 뻔하죠, 엉성한 SQL 문 때문입니다. SI 업체에 근무하시는 분들이 바빠서 공부할 시간이 없다고 하지만, 기본적인 공부는 해야만 발전하지 않을까요? |