Skip to main contentdfsdf

Mr U1's List: sharp coding

    • 一般に言われている関数の長さの限界は、プリンタ用紙1枚程度の60行前後です。まあ、許容 される限界は100行まででしょう。
    • 100行を越えたら、「嫌だなあ」と感じてください。200行を越えたら、「恥ずかしくて誰 にも見せられない。早く直さねば!」と感じてください。この感覚を身につけることが、初心者卒 業の第一歩です。
  • 4 more annotations...


    •  一般にパラメータの数が8個を超えるとミスをする割合が急激に増えることは本文でも触れましたが、その場合にはこのようにパラメータを構造化するのも一つの回答です。
    • typedef struct {  long lEmployeeID;  struct tagEMPDATA {  char szName[40];  char szAddress[100];  long lBirthDay;  char szPhone[20];  } data; } EMPLOYEETYPE;

    1 more annotation...


    •  モジュールとは、データと、そのデータに関連するルーチンの集まりです。
    • マクロ名 ‥‥‥ 全部大文字  変数名 ‥‥‥ 全部小文字  関数名 ‥‥‥ 全部小文字または単語の先頭文字だけ大文字
    • 名前のつけ方は、まず、長くしてください。けっして2、3文字にはしないように。まして、1文 字の変数名は絶対やめましょう。
    • ハード関係をやっていると、unsigned の方が都合が 良いことが多いのは事実です。でも、なくても良いものは、ない方がプログラムが見やすくなりま す。それではいやだというのなら、 

      	typedef	unsigend char  uchar; 
       という uchar 型を定義して、unsigned char と書く代わりに、たんに uchar と書いた方が見やす いでしょう。
    • コンパイルの単位、つまりソースファイルの内部だけに名前を限定し、他の部分から「隠す」と 便利です。外部変数と関数の先頭にstaticをつけるとこの隠す機能が働きます。

    1 more annotation...

    • Ttl, Sum, Avg, Max, Min, Rec, Str, Ptrなど、変数名の前か後ろに付けます。
    • first/lastはわかりやすいですが、first/endは一般的ではありません(英語としては)

    1 more annotation...

  • 2 more annotations...

      • クラス名は大文字ではじめる 
      • メソッド(C言語で言う関数)、変数は小文字ではじめる 
      • メソッド(C言語で言う関数)、変数は単語のつながりで表現し、2単語目以降の単語の初めは大文字にする 
        • 変数はデータ型を最初に付する 
        • メンバー変数は「m_」ではじめる 
         
        例) class MyClass{     int     m_nLengthOfLine;     boolean m_bDataFlag } 
    •    \b  1文字戻る   \r  その行の先頭に戻る
    • 例A
      TopMargin = 10; BottomMargin = 10; LeftMargin = 20; RightMargin = 20; 
      例B
      MarginTop = 10; MarginBottom = 10; MarginLeft = 20; MarginRight = 20; 

       例Aは英文法に従った記述、例BはMarginを最初に持ってきた記述です。

    • switch(month){     case  1: tsuki=  "一月";  koyomi=  "睦月";  break;     case  2: tsuki=  "二月";  koyomi=  "如月";  break;     case  3: tsuki=  "三月";  koyomi=  "弥生";  break;     case  4: tsuki=  "四月";  koyomi=  "卯月";  break;     case  5: tsuki=  "五月";  koyomi=  "皐月";  break;     case  6: tsuki=  "六月";  koyomi="水無月";  break;     case  7: tsuki=  "七月";  koyomi=  "文月";  break;     case  8: tsuki=  "八月";  koyomi=  "葉月";  break;     case  9: tsuki=  "九月";  koyomi=  "長月";  break;     case 10: tsuki=  "十月";  koyomi="神無月";  break;     case 11: tsuki="十一月";  koyomi=  "霜月";  break;     case 12: tsuki="十二月";  koyomi=  "師走";  break;     default: tsuki=      "";  koyomi=      "";  break; } 

       こうなりました。実にコンパクトに、そして視認性良くまとまりました。

    • list 1 
          if ((fp = fopen(filename, "r")) != NULL) {         ...     } 
    • さて、この記法がポピュラーなのは何故か考えてみましたが、おそらくK&Rにごろごろ出てくるからだと思います

    17 more annotations...

1 - 14 of 14
20 items/page
List Comments (0)