|
IT업계에 종사하는 사람으로써 반드시 프로그래머만 코딩을 해야한다는 법이 없다는 것을 알았다. 프로그래밍과는 전혀 담을 쌓고 살았던 나이지만 시스템엔지니어로 근무하면서 프로그래밍을 어느정도 다를 수 있어야한다는 것을 알게되었다. 그렇기에 프로그래밍을 효율적으로 하기위해 어떻게 코딩을 짜야하는지가 필요했기에 이책을 선택하게 되었다. 이 책은 단순한 코드가 좋은코드다라는 명제를 제시하면서
이책을 읽으면서 가장 관심을 갖고 읽었던 챕터가 챕터 9. 명료한 프로그램을 만드는 좋은 코딩 습관이다. 프로그래밍의 프로그램도 모르는 나이지만 항상 프로그래밍은 누가 보든지 이해하기 쉽고 분석하기 쉬울 정도로 명료해야한다는 것은 누구나 다 아는 사실이다. 하지만 실상에서는 그러하지 못하는게 문제다. 프로그래밍을 빨리 짜려고 자신만의 방식을 고수하다보면 나중에 그 프로그램을 짠 시간보다 유지보수 즉, 분석하는데 드는 시간이 더 낭비되는 상황이 발생된다. 그렇기에 처음에 프로그램을 짤 때 코드의 길이나 변수의 길이가 조금 더 늘어날 지언정 이해하기 쉬운 프로그램을 작성하는 습관을 기르는 것이 좋다. 또한 프로그램 코딩을 하는데 있어 주석을 통해 이해의 학습도를 돕는다면 해당 프로그램을 유지보수하게 될 프로그래머가 프로그램을 분석하는 시간을 최소화할 수 있고 이는 결국 생산성향상으로 이어지는 결과를 낳게 된다.
프로그램을 짜는데 있어 매일 오류가 발생한다면 챕터 15. 오류없는 프로그램을 만드는 좋은 코딩습관을 통해 자신의 프로그래밍 방식을 재점검할 수 있을 것이고 남들이게 자신이 작성한 프로그램만 보고도 바로 이해하기를 원하는 프로그래머에게는 챕터 13. 이해하기 쉬운 프로그램을 만드는 좋은 코딩 습관을 통해 그 단계를 순차적으로 밟아나가면된다.
|
|
학과 과제를 하면서 무작정 작동만 하면 된다고 생각했던 코딩, 하지만 시간이 지나고 나면서 어떠한 코딩을 해야 할까라는 생각을 하게 되었습니다. 그러던 중 한빛리더스에서 '좋은 코딩 나쁜 코딩'을 접하게 되었습니다. 그리고 좋은 코딩을 하는 방법에 대해서 생각하게 되었습니다. 책에서는 책의 표지에서 이야기하는 것과 같이 단순한 코드가 좋은 코드라는 이야기를 하고 있습니다. 실제로 책에서 소개하고 있는 내용도 어떻게 하면 효율적으로 간결하고 단순하게 코드를 짤 수 있는지에 대한 여러분들의 물음에 대한 해답을 제시하고 있었습니다. 이 책을 읽으면서 그동안 학교에서 했던 프로젝트를 진행하면서 실수했던 것들 혹은 더 좋은 방법들에 대해서 생각해볼 수 있는 좋은 시간을 가지게 되었습니다. 그리고 처음에 128개나 되는 코딩 습관에 대해서 이야기한다고 해서 정말 두꺼운 책이겠다라고 막연하게 생각하고 있었습니다, 그런데 실제로 접한 책의 두께는 생각보다 얇아서 편하게 들고 다니면서 읽을 수 있는 정도라서 놀랐습니다, 그렇다고 해서 내용이 부실한 것도 아니고 정말 간단 명료하게 그림과 함께 소개되고 있어서 놀라기도 했습니다.
우선은 이 책을 통해서 내가 가지고 있던 안 좋은 습관들에 대해서 알게 되었고, 어떻게 하면 좋은 프로그래머가 될 수 있을지에 대한 방향성을 제시하고 있다는 것이 정말 좋았던 것 같습니다. 또한 띄어 쓸 때 좋은 코딩 습관, 들여 쓸 때 좋은 코딩 습관과 같이 평상시에는 아무렇지 않게 생각했던 사소한 것들에 대해서 이야기를 하고 있어서 실제로 코딩을 하게 된다면 정말 많은 도움이 될 것 같으는 생각이 들었습니다. 또한 모든 개발자 혹은 프로그래머의 꿈인 명료한 프로그램을 만들 수 있는 코딩 습관에 대해서 소개하고 있어서 유심히 살펴보았습니다. 총 16개의 chapter로 구성이 되어 있어서 원하시는 분야에 궁금했던 부분을 골라서 읽어보는 것도 좋겠지만 처음부터 끝까지 한번 읽어본다면 코딩을 하는데 있어서 많은 도움을 얻을 수 있을 것입니다.
|
|
좋은 코딩 나쁜 코딩(2판)은 어떻게 프로그램을 짜는 것이 좋은 지 즉, “코딩 스타일”에 대한 실제적인 내용들을 설명하는 책이다. 이 책은 “~하라”는 제안 형태의 128가지 주제를 관련성 있는 내용들끼리 묶어 총 16개의 챕터로 구성되어 있다. 책을 처음부터 순차적으로 끝까지 읽었지만 각 주제별 내용이 독립적이기 때문에 목차를 보고 관심 있는 내용을 먼저보아도 무방하다. 각 내용은 회사에서 직속 사수가 어떻게 코드를 짜야 되는지 알려주는 것 같은 느낌으로 설명해준다. 마치 이전에 읽었던 책 중 “프로그래머의 길 멘토에게 묻다“와 비슷한 느낌이 들고 비교를 하게 된다. 제안하는 내용들은 아주 기초적인 것들부터 아 이런 부분은 미처 몰랐네 하는 것들까지 상당히 세밀하게 코드를 잘 짜는 법에 대해서 설명해 준다. ”코드를 잘 짠다.”하는 것의 기준을 어디다 두느냐에 따라 다르겠지만 기본적으로 가독성, 관습적 용례, 퍼포먼스 등을 고려하여 저자는 상당히 다양한 조언을 던져준다. 다만 코딩스타일이란 것이 정답이 있는 것이 아니기 때문에 저자가 조언하는 것을 모두 무조건 따를 필요도 없고 저자 또한 서문에서 그렇게 밝히고 있다. 코딩 스타일을 아직 접해보지 못한 학생이나 개발 초년생들에게는 이 책이 코딩 스타일이란 어떤 것인지 감을 잡는데 의미가 있을 것 같다. 다만 나를 포함한 주변인들을 보고 느낀 주관적인 경험상 코딩스타일이나 코드컨벤션은 실제 프로젝트를 하면서 스스로 그 필요성을 몸으로 느끼는 것이 더 중요한 것 같다. 프로그램 언어가 다양하고 최근엔 스크립트 류의 언어들이 호황을 누리고 있는 것을 감안할 때, 책에서 제안하는 내용들중 적용하기 어려운 부분들도 분명 있다는 점도 감안해야 한다. 또한 설마 이렇게 코딩하는 사람이 있겠나? 싶을 정도의 사례들이 간혹 공감이 잘 안될 때도 있긴했다. 결론적으로는 저자가 말하는 바와 같이 코더로 머물고 싶지 않다면 코딩 스타일에 대해서 알고 있어야 하고 나름의 기준과 철학들이 필요하다고 생각하다. 이 책이 그러한 생각을 자라게 해주는 마중물이 되줄 수 있을 것 같다. 대학에서 처음 소프트웨어 개발을 배우는 학부생들이라면 소프트웨어공학 시간에 참고도서격으로 읽어보면 좋을 듯 싶다. |
|
건물을 짓는 데 있어서 훌륭한 분석과 설계를 따라 지었기에 외형이 멋지더라도 건물을 짓는 데 기초를 다지는 미장공과 벽돌공의 솜씨가 서툴다면 부실한 건물이 된다는 말과 함께 개발자 중에 이 역할이 코더를 비유해 표현을 하고 있다. 개발을 하기까지 기획을 해야 하고 화면을 구성하고 디자인을 해야 하며 프로그래밍을 하게 된다. 우리의 주변이 급변하는 오늘 날 개발에 대해서는 백신과, 바이러스 컴퓨터가 나오고부터 프로그래밍이란 단어가 사용되어 왔고 IT시장이 웹, 스마트폰, 테블릿, 스마트TV 등 활동범위가 넓어져 왔다. 앞으로도 유비쿼터스의 뜻처럼 내 주변에 존재하고 있지만 존재하고 있지 않는 것처럼 나의 일상이 되는 시대가 올 것이다. 건강부분이나 인공지능을 개발하는데 있어서 지금까지 수많은 발전이 있어왔고 앞으로도 계속 발전 할 것인데 프로그래밍을 하는데 있어서 이정도면 됐지 코드를 더 수정해야 하나 하는 말을 하는 개발자들도 있다. 물론 더 간결하기 어려운 기계어를 다루고 할 줄 아는 사람은 더 세밀한 부분까지 다루기에 정밀해야 하고 최적화 된 부분의 개발부분들도 있다. 세밀화 하고 새로운 것을 만들어 가는데 있어서 정밀한 작업의 경우에는 정밀하게 작업할 수 있는 언어들이 필요할 것이다. 그 외에 코드를 작성하면서 잡다한 필요 없는 코드들이 작성이 될 경우를 줄이기 위해 좋은 코딩은 무엇이고 나쁜 코딩이 무엇인지 고민을 해야 한다고 생각한다. 루비, 파이썬, 자바, C#, 안드로이드, X코드 등 다양한 분야의 언어들이 생기게 되었는데 우리나라가 국제화되기 까지는 외국어와 네트워크를 통한 통신을 통해서 전 세계가 소통하는 시대에 살고 있다. 더욱더 좋은 코딩을 하기 위해서 이전 언어의 문제점을 보완하고자 언어들이 늘어나게 되었고 앞으로도 더 좋은 언어들이 나오게 될 것이고 발전을 할 것이다. 하지만 프로그래밍을 하다보면 과거의 프로그래밍을 개발하는 사람들이 생각이 난다. 전쟁이 많았고 군사적으로 컴퓨터가 필요하고 암호를 해독하고 군사 보안이나 처음에 전쟁을 이기기 위해서 프로그래밍이 필요하게 되었고 전쟁이 차차 줄어들면서 우리의 삶을 편리하고 새로운 삶을 살 수 있도록 새로운 문화를 만들게 된 기초인 것 같다. 코드를 작성할 때 다른 사람이 알아볼 수 없게 나만 알아보는 코드란 전문적인 코드의 경우에는 가지고 있으면 좋은 기술력이 되지만 많은 사람들이 이용하는 코드나 회사에서의 코드는 코드 규칙을 지켜가면서 작성을 하고 만약에 회사를 그만두게 되거나 옮기게 되었을 경우 다음 사람이 빠르게 이해하고 회사의 일을 착오 없이 진행하기 위해서도 알기 쉬운 코드 단순한 코드가 필요하다고 생각한다. 책을 읽기 전 저자의 말을 읽어보면서 저자가 여러 가지 프로그래밍을 해보면서 겪었고 드는 생각들과 좋은 코딩을 하기 위해서 습관에 대해서는 먼저 저자의 코딩의 삶이 담겨있고 다른 개발자들과 맞는 부분도 있을 것이고 틀린 부분도 있을 것이기에 화합이 되는 부분은 책을 읽으면서 고쳐가고 좋은 코딩을 하기 위해서 저자가 생각하는 것과 자신이 생각하는 것을 잘 판단하여서 좋은 코딩을 할 수 있게 도와주는 책이었다. |