Hatena::ブログ(Diary)

アーユーレディ?

2011-04-09

良いコードを書く技術

良いコードを書く技術 ?読みやすく保守しやすいプログラミング作法 (WEB+DB PRESS plus)

良いコードを書く技術 ?読みやすく保守しやすいプログラミング作法 (WEB+DB PRESS plus)

今日から読んでいます。

サポートページ

書籍サポート:良いコードを書く技術 ― 読みやすく保守しやすいプログラミング作法:サポートページ|gihyo.jp … 技術評論社

良いコードの定義

  • 保守性が高い
  • すばやく効率的に動作する
  • 正確に動作する
  • 無駄な部分がない

コード検索サービス

(良いも悪いも)他人が書いたコードを読もう。

言語別の良書の例

Java

JavaScript

JavaScript 第5版

JavaScript 第5版

Perl

C

プログラミング言語C 第2版 ANSI規格準拠

プログラミング言語C 第2版 ANSI規格準拠

Ruby

プログラミング言語 Ruby

プログラミング言語 Ruby



PHPはどれかな・・・?ないのかな・・・

名前付け

大学の研究室の教授も「名前は重要」って言ってたな。その通りだな。

名前の省略の例
  • 先頭の文字を残す。複数形の場合は最後のsは残すことが多い。
  • ingの削除。
    • これは初めて知った
  • 単語の削除。
  • 語頭以外の母音を削除する。
    • image→img
    • imgはこのパターンだったのか。へー。
  • 強い音を残す。
    • server→svr
    • これも初めて
  • 一般的な略語の利用
    • database→db

短縮語検索

AcronymFinder: Index-
こんなサイトあるんだ。

言語別コーディング標準

Java
Ruby
PHP
Perl
Python
C#
メソッド名について

となっていることが多い。

コープ

JavaScript1.6にはブロックスコープがない

関数内で宣言されたローカル変数のスコープは、すべて関数の先頭で宣言されたものと同じ意味になる。

  • 見かけ上のスコープ(でもこっちのほうがいい)
function calc() {
  var total = 0;
  for (var i = 1; i < 10; i++) {
    var n = i * i;
    total += n;
  }
  alert(total);
}
function calc() {
  var total, i, n;
  total = 0;
  for (i = 1; i < 10; i++) {
    n = i * i;
    total += n;
  }
  alert(total);
}

メソッド

引数
  • 情報量は少ないほうがいい
  • ただし引数の数が多くなりすぎる場合は、引数の型をオブジェクトにしたほうがいい(目安として5個以上)

言語別テスティングフレームワーク

Java
Ruby
PHP
Python
Perl
.NET
JavaScript

こころがけ

抽象化

コードリーディング

  • 静的
  • 動的
    • 動かしながら

参考文献(抜粋)

Webを支える技術

Webを支える技術 -HTTP、URI、HTML、そしてREST (WEB+DB PRESS plus)

Webを支える技術 -HTTP、URI、HTML、そしてREST (WEB+DB PRESS plus)

読んだ。あとで書く

名代とんかつかつくら

4/9 16:00ごろ訪問。
お客は4、5組くらい。

ヒレカツ膳80gを注文。1200円。
ごはんは麦ごはん、おひつで。みそ汁、漬け物
テーブルの上にも別の漬け物があった。

お上品なとんかつ。おいしかったです。


名代とんかつかつくら LAZONA川崎プラザ店

食べログ名代とんかつかつくら LAZONA川崎プラザ店

今日学んだこと