수안이의 컴퓨터 연구실

  • Mainpage
  • About Me
  • Tags
  • Metapage
  • Notice
  • Location
  • Keywords
  • Guestbook
  • Admin
  • Write an Article
  • Total | 1693894
  • Today | 245
  • Yesterday | 588

Programming/Development2006/01/07 13:38

바른 프로그래밍을 위한 고수의 조언

The C++ Programming Language 중에서...

[1] 유효 범위는 최대한 좁히자.

[2] 한 범위 안에서 같은 이름을 쓰는 일은 절대로 하지 말 것. 이것은 어떤 범위를 둘러싼 바깥쪽 유효 범위에 대해서도 마찬가지다.

[3] 선언문 하나에 대해 이름도 하나만 선언하자.

[4] 관습적인 이름과 지역이름은 짧게 만들고, 자주 사용되지 않는 이름 및 비지역 이름은 길게 지을 것.

[5] 비슷한 이름들은 함께 쓰는 일은 피할 것.

[6] 이름짓기 방식은 일관성을 유지하자.

[7] 이름을 선택할 때는, 구현에 신경 쓰지 말고 의미에 각별히 신경 쓸 것.

[8] 어떤 기본제공 타입의 값 표현 방식이 달라질 수 있는 경우에는, typedef타입을 써서 그 타입에 대해 의미 있는 이름을 정의하자.

[9] typedef 타입은 다른 타입의 동의어로서 사용하는 것이다. 반면, 아예 새로운 타입을 정의하려면 나열자나 클래스를 사용하자.

[10] 모든 선언문엔 반드시 타입이 주어져야 한다는 사실을 잊지 말 것("암시적 int" 타윈 없다).

[11] 문자의 숫자값에 대한 불필요한 가정은 삼갈 것.

[12] 정수의 크기에 대한 불필요한 가정은 삼갈 것.

[13] 부동소수점 실수 타입의 표현 범위에 대한 불필요한 가정은 삼갈 것.

[14] short int 혹은 long int보다는 그냥 int가 낫다.

[15] float 혹은 long double보다는 그냥 double이 낫다.

[16] signed char 혹은 unsinged char 보다는 그냥 char가 낫다.

[17] 객체의 크기에 대한 불필요한 가정은 삼갈 것.

[18] 부호를 사용하지 않은 숫자 타입의 산술 연산은 피할 것.

[19] signed가 unsigned로 변환되는 경우와 unsigned가 signed로 변환되는 경우를 조심스럽게 살필 것.

[20] (부동소수점) 실수 타입을 정수로 변환하는 경우를 조심스럽게 살필 것.

[21] 더 작은 타입으로 변환하는 경우, 이를테면 int를 char로 바꾸는 경우를 조심스럽게 살필 것.


일반적인 이야기일지도 모르겠지만, 깜빡하고 넘어갈 수 있는 것들이다. 습관적으로 베어있지 않은 사람들은 잘 숙지 해야할 듯...
"Development" 카테고리의 다른 글
  • Thread 생성시 어떤 API를 사용해야 하는가? (0)2007/03/15
  • PVOID, 템플릿이란? (0)2006/12/27
  • 바른 프로그래밍을 위한 고수의 조언 (0)2006/01/07
  • 개발 언어를 선택하는 5가지 기준 (0)2005/10/12
  • 「The Pragmatic Programmer : From Journeyman to... (0)2005/05/29
2006/01/07 13:38 2006/01/07 13:38
Posted by webdizen
No Trackback No Comment

Trackback URL : http://www.webdizen.net/blog/trackback/1634

Leave your greetings.

[로그인][오픈아이디란?]

«Prev  1 ... 1544 1545 1546 1547 1548 1549 1550 1551 1552 ... 3009  Next»

RSS HanRSS
Blog Image
webdizen
이곳은 컴퓨터에 대해 연구하고, 공유하고, 소통하기 위한 연구실입니다. 개인적으로는 OLAP, Data Mining, Semantic Web, Data Modeling에 대해서 연구하고 있습니다.

Categories

전체 (3009)
Webdizen (141)
Life (6)
Diary (16)
Blog (9)
IDEA (2)
Travel (10)
Book (16)
Photo (7)
Movie (8)
Music (14)
Leisure Sports (10)
Funny (6)
Hardware (121)
Software (120)
Windows (5)
Unix & Linux (120)
Installation (5)
Kernel (10)
System (34)
Develop (22)
X-Window (0)
Applicaton (31)
Security (4)
Framework (2)
Hadoop (2)
Programming (804)
Algorithm & Data Structure (1)
Assembly (38)
UNIX/Linux C (95)
C++ (128)
STL (4)
Java (38)
Win32 API (92)
ATL/COM (44)
MFC (151)
.NET (26)
WCF/WPF (4)
C# (28)
Network Programming (17)
Database Programming (12)
OpenGL / DirectX (13)
Multimedia Programming (0)
Game Programming (21)
Parallel Distributed Progra... (0)
Reverse Engineering (0)
Debugging (9)
Python (1)
Ruby (1)
Ruby on Rails (1)
QT (4)
GTK (0)
JSP (0)
PHP (6)
ASP.NET (6)
ASP (2)
Development (28)
Useful Library (2)
Data Modeling (0)
Database (105)
Oracle (4)
MSSQL (41)
MySQL (2)
Data Warehouse (2)
Data Mining (4)
Network (66)
Web (79)
DHTML (4)
XHTML (1)
Javascript (1)
CSS (1)
AJAX (9)
XML (11)
Flex (1)
Silverlight (3)
Security (91)
DoS (1)
Kernel (10)
Scanning (3)
Sniffing (0)
Spoofing (4)
Overflow (28)
Web (11)
Shell (10)
Format String (14)
Window (2)
Embedded (70)
Multimedia (27)
Mobile (14)
Graphic (24)
Management (633)
Knowledge (581)
Hadoop (0)

Notice

  • 메타 블로그 사이트에 등록
  • 새해 맞이 블로그의 변화
  • 블로그 명칭 변경
  • 도메인(www.webdizen.net) 구...
  • TEXTCUBE 1.6.1로 업그레이드...

Tags

  • 최근 사용한 파일 목록
  • 배열과 포인터
  • Sun
  • php.MVC
  • Preloading
  • WORLDCOMP
  • 데이터 타입
  • 스냅샷
  • 보안 솔루션
  • Thread 취소
  • OTL
  • Architecture
  • Security
  • upper_bound
  • @@Error
  • 가상 메모리 크기
  • RC헬기
  • 에러
  • Procedure
  • 윈도우 종료

Recent Articles

  • 트위터(Twitter)의 시작!.
  • 청년 리더의 조건.
  • 애플의 타블렛 PC - 아이패드....
  • 미래의 인터페이스 - 육감 기....
  • 기초발성법 동영상 강좌.

Recent Comments

  • 학교 과제물중 쓰레드에 대하....
    장진혁 03/17
  • 관리자만 볼 수 있는 댓글입....
    비밀방문자 03/12
  • 상대방의 이야기를 열심히 경....
    DoNuts 03/03
  • Lots of students know techn....
    Bobbi35Shannon 02/25
  • 좋은글 잘 보고 갑니다..
    Und_hacker 01/08

Recent Trackbacks

  • printf,scanf를 이용한 형식....
    yundream의 프로그래밍 이야기 03/10
  • 파일 열기/저장하기 CFileDialog.
    은마군의 나태블록 2009
  • World IT Show 2008.
    상우 :: Oranzie's BLOG 2008
  • cvs서버 설치하기.
    3인3색 2008
  • 속속 공개되는 Google Chart....
    PHP와 Web 2.0 2007

Archive

  • 2010/02 (1)
  • 2010/01 (6)
  • 2009/12 (5)
  • 2009/09 (3)
  • 2009/08 (1)

Calendar

«   2010/03   »
일 월 화 수 목 금 토
  1 2 3 4 5 6
7 8 9 10 11 12 13
14 15 16 17 18 19 20
21 22 23 24 25 26 27
28 29 30 31      

Bookmarks

    • Administration
      • IIS.NET
      • NTFAQ
      • OS의 모든 것
      • 리눅스포털
    • Database
      • SQL Server Central
      • SQL Team
    • Development
      • .NET Heaven
      • ASP Alliance
      • ASP.NET 2.0
      • Bullog.net
      • C# Corner
      • C++ (C PlusPlus.com)
      • C++ Reference
      • CodeGuru
      • CodePlex
      • DebugLab
      • Dev Articles
      • Devpia
      • DotNet Junkies
      • DotNet Zone
      • Driver Online
      • GOSU.NET
      • HOONS 닷넷
      • Joinc 팀블로그
      • KOSR
      • MSDN Home Page
      • OSR Online
      • Sky.ph - 개발자 커뮤니...
      • TAEYO.NET
      • The Code Project
      • WindowsClient.net
      • 김상욱의 개발자 Side
      • 조인시 위키
    • Human Networks
      • belief21c's e-space
      • I think I can
      • Invisible Rover's Blog :D
      • Rodman®
      • ■ Feel So Good~! ■
      • 까만 나비
      • 나를 가꾸는 시간.
      • 나만의 즐거움~~!
      • 단녕
      • 상우 :: Oranzie's BLOG
    • Information Technology
      • Microsoft TechNet
      • 지디넷코리아 - 글로벌...
    • Security
      • FoundStone
      • milw0rm
      • NewOrder
      • OpenRCE
      • Phrack.org
      • Reverse Engineering b1...
      • Reverse Engineering Team
      • RootKit
      • SecurityFocus
      • SecurityXploded by Nag...
      • Wow Hacker
      • Zone-H
Textcube
Louice Studio Inc.
Powered by Textcube. Original designed by Tistory.