Upgrade to Pro — share decks privately, control downloads, hide ads and more …

【LT会】この技術書がすごい

 【LT会】この技術書がすごい

Liven up NAGOYA 2023/3/24

Tiny Mouse

March 24, 2023
Tweet

More Decks by Tiny Mouse

Other Decks in Programming

Transcript

  1. n @tinymouse_jp n SI 企業の SE n 日曜プログラマ n 二児の父

    n 静岡県浜松市出身 n 東京都品川区在住。名古屋市在住。 n Windows 愛用。iPhone Android スマホ n Android の会浜松支部、Hamamatsu.js 、 よちよちサンデープログラミングの会→なごや個人開発者の集い Tiny Mouse
  2. •字下げしよう 案A if (....) { …. } else if (….)

    { …. 案B if (….) { …. } else if (….) { …. 案C if (….) { …. } else if (….) { ….
  3. •空白を入れよう if (cmd == DOWN) todown() else if (cmd ==

    UP && line < 1) toup() else if (cmd == LEFT && pos < 1) toleft() else if (cmd == RIGHT && pos < 80) toright(); これより if (cmd == DOWN) todown() else if (cmd == UP && line < 1) toup() else if (cmd == LEFT && pos < 1) toleft() else if (cmd == RIGHT && pos < 80) toright();
  4. •初期値は処理の直前で設定しよう int a = 100; …. …. …. …. ….

    …. …. .… .… .… .… b = func(a); ↑これはいけない
  5. •適度に無駄なことをしよう Init(3); Init(5); Init(7); Init(9) これを for (i = 3;

    i <= 7; i += 2) { Init(i); } 書換したほうがいいものか。
  6. •プログラムは外側から作ろう main() { } int main(int argc, char *argv[]) {

    if (.…) { func1(); } else if (….) { func2(); } else { exit(1); } } void func1() { } void func2() { } まず これだけ書く。続いて 続いて…
  7. •定石に従おう if ((f = fopen(….)) == NULL) { printf(“ファイルがオープンできません\n”); return

    (1); } while ((c = fgetc(f)) != EOF) { …. } while ((fgets(buf, sizeof(buf), f)) != NULL) { …. } 自分ではこう書かないなと思っても、 公式のサンプルの書き方は従っておきたい
  8. l 古い l 入手しづらい l 例文が C なので、他の言語 の初心者が分かりづらい l

    今風の言語やフレームワー クではアンチパターンになる ケースもある