프로그래밍 스타일(?) 기초 서적 추천 바랍니다.

dhunter의 이미지

프로그래밍 하다 보면 이런 저런 격언 많이 듣습니다.

"두 화면을 넘어가면 함수로 짜라"
라던가...

"전역변수/Goto 는 자제해라"
라던가...

이런 이야기들이 잘 정리된 프로그래밍 서적이 있을까요?

저는 임베디드 C 프로그래머고, 잘 알려지지 않은 마이크로프로세서를 타겟으로 하여 C(C++가 아닌)로 개발하고 있습니다.

dhunter의 이미지

from bzImage
It's blue paper

gilgil의 이미지

코딩 스타일은 개인, 회사의 성향에 따라 달라질 수 있지만, cowork을 할 때에는 가급적이면 같이 맞춰 주는 것이 좋을 것입니다.

https://code.google.com/p/google-styleguide/

dhunter의 이미지

신규 프로젝트라서 기존 코드가 전혀 없고, 개발자들도 전원이 경력이 길지 않아 "맞출 코딩 스타일" 이 없는 상황입니다.

그보다 표현이 좀 이상해서 저도 (?)를 남겨두긴 했습니다만... Code Complete 와 같은 서적을 찾고 있습니다.

Coding Standards 나 http://en.wikipedia.org/wiki/Coding_conventions 보면 좀 더 다양한 이야기가 있군요.

델파이(볼랜드)나 GNU등의 다양한 표준도 있고 그냥 검색하니 워드프레스도 있고...

많은 사람들이 걸어간 길이네요.

from bzImage
It's blue paper

Prentice의 이미지

기초 서적은 아니지만 프로그래밍 스타일에는 도움이 될지도 모르겠습니다.

http://amzn.com/0596510047 - Beautiful Code: Leading Programmers Explain How They Think (Theory in Practice) - O'Reilly

협업에는 도움이 안 되려나요;;

dhunter의 이미지

http://kldp.org/node/109758

이걸 보고 찾아봤는데 스티브 맥코넬씨 회사인 Construx의 개발자 플랜에서 이런 책들 추천하는군요
http://www.construx.com/Page.aspx?cid=948

Lv.10 (학부 나오면 Lv.9)
•Code Complete 2nd Edition, Steve McConnell
•Programming Pearls 2nd Edition, Jon Bentley
•Refactoring, Martin Fowler
•Applying UML & Patterns, Craig Larman
•The Art of Testing, Glenford Myers
•Conceptual Blockbusting, James Adams
•Software Creativity, Robert Glass

Lv.11
•Mastering the Requirements Process, Robertson and Robertson
•User Stories Applied, Mike Cohn
•Writing Efficient Programs, John Bentley
•Writing Solid Code, Steve Maquire
•Software Implementation, Michael Marcotty
•More Programming Pearls, John Bentley
•Testing Object-Oriented Systems, Robert Binder
•Rapid Development, Steve McConnell

Lv.12
•Design Patterns, Erich Gamma et all
•Object Oriented Software Construction, Bertrand Meyer
•Object Oriented Analysis and Design, Grady Booch
•Software Architecture in Practice, Bass et all
•Balancing Agility with Discipline, Boehm and Turner

저는 객체지향 언어도 못쓰고 해서 그런 부분은 넘어가긴 하는데... 여튼 도움이 되는 리스트라고 생각합니다.

SWEBOK ; http://www.computer.org/portal/web/swebok 란 곳도 인생에 도움이 될지도...요?

추가

CODE COMPLETE 2/E 25,200원 1 25,200원 0원 0원 재고확보중
읽기 좋은 코드가 좋은 코드다: 더 나은... 16,200원 1 16,200원 0원 1,620원 재고확보중
프로가 가르쳐 주는 전자회로 13,050원 1 13,050원 0원 1,310원 재고확보중
생각하는 프로그래밍<... 15,840원 1 15,840원 0원 0원 재고확보중
소프트웨어 크리에이티비티 2.0
The C Programming Language : ANSI C ... 33,200원 1 33,200원 0원 330원 재고확보중

실용주의 프로그래머 : The Pragmatic ... 19,500원 1 19,500원 0원 200원 재고확보중

Head First Programming : 파이썬으로 ... 20,800원 1 20,800원 0원 210원 재고확보중

Head First Statistics: 실생활 예제로... 32,000원 1 32,000원 0원 320원 재고확보중

IT 아키텍트가 하지 말아야 할 128가지 20,700원 1 20,700원 0원 2,070원 재고확보중


품질을 생각하는 임베디드 소프트웨어 ... 27,000원 1 27,000원 0원 2,700원 재고확보중

켄트 벡의 구현 패턴 19,800원 1 19,800원 0원 1,980원 재고확보중

HARD CODE : 나잘난 박사의 IT 정글 서... 22,500원 1 22,500원 0원 2,250원 재고확보중

좋은 코드를 작성하는 기술 16,000원 1 16,000원 0원 160원 재고확보중

+ 컨플릭트

from bzImage
It's blue paper

dhunter의 이미지

그 외에 여러 추천하는곳이 있군요.

http://en.wikipedia.org/wiki/Jolt_Awards

http://kangcom.com/codi/?topId=6

from bzImage
It's blue paper

댓글 달기

Filtered HTML

  • 텍스트에 BBCode 태그를 사용할 수 있습니다. URL은 자동으로 링크 됩니다.
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param><hr>
  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.

BBCode

  • 텍스트에 BBCode 태그를 사용할 수 있습니다. URL은 자동으로 링크 됩니다.
  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param>
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.

Textile

  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • You can use Textile markup to format text.
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param><hr>

Markdown

  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • Quick Tips:
    • Two or more spaces at a line's end = Line break
    • Double returns = Paragraph
    • *Single asterisks* or _single underscores_ = Emphasis
    • **Double** or __double__ = Strong
    • This is [a link](http://the.link.example.com "The optional title text")
    For complete details on the Markdown syntax, see the Markdown documentation and Markdown Extra documentation for tables, footnotes, and more.
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param><hr>

Plain text

  • HTML 태그를 사용할 수 없습니다.
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.
  • 줄과 단락은 자동으로 분리됩니다.
댓글 첨부 파일
이 댓글에 이미지나 파일을 업로드 합니다.
파일 크기는 8 MB보다 작아야 합니다.
허용할 파일 형식: txt pdf doc xls gif jpg jpeg mp3 png rar zip.
CAPTCHA
이것은 자동으로 스팸을 올리는 것을 막기 위해서 제공됩니다.