読者です 読者をやめる 読者になる 読者になる

感謝のプログラミング 10000時間

たどり着いた結果(さき)は、感謝でした。

JavaとRubyの違い。

<スポンサーリンク>

DRY原則とは

Don't Repeat Yourself.
重複を排除してすべてのシステム上の知識を一点に集約せよ。

このDRYは開発対象のプログラムだけを指すわけではない。
たとえば、Excelシートでテーブルのスキーマを定義している場合、テーブル生成のためのSQLスクリプト、CRUD操作のためのSQLを埋め込んだプログラムなどと、色々な場所に知識が分散される。多重管理の罠というやつだ。
そして、一つが変更になったらすべて変更するはめになってしまい、実物との差異が出てきてしまう。

個人的には外部設計書まではそんなに変更にならないから有効だと思うけれど、内部設計書はあっという間に陳腐化して、ソースと乖離してしまうので、こういうのを作る労力は無駄だと思っている(ソースを読んだほうが早い。コードはいつも正しく現実を表す)
そもそもオブジェクト指向で作られた大規模なプログラムをWordとかExcelの内部設計書で理解するなんて不可能だよ。
ソース読みながら、どのメソッドを追って行かないと。そして、内部設計がどうとかいうオッサンに限って、Javadocを軽視するのが意味わからん。J

RubyJavaの違い

・型の解決を動的に行う(Ruby)か、静的に行う(Java)か
・命名規則(スネークケースとキャメルケース)
Rubyにはプリミティブ型がない。

RubyJavaの共通点

・メソッドの引数が参照渡し

スネークケースとキャメルケース

Rubyではメソッドの名前などはすべて小文字で、可能であれば省略して書く。
upcase,upper_caseなど。
Javaではおなじみだけど、先頭は小文字で区切りが大文字になる。
で、区切りが大文字になるような記法をキャメルケースといい、スクリプト言語に多い、「_」で区切るような書き方をスネークケースという。

Rubyの慣用的な命名規約

何? ルール
定数 定数は先頭を英大文字で開始するのが文法上の決まり。 CONSTANT_PRICE
変数 変数はすべて小文字で記述する。複数の単語で構成されるときは、「_」で結合する。 variable_price
メソッド名 メソッド名は、すべて小文字で記述する。複数の単語で構成される場合は「_」で結合する。 module_eval
型名 単語の先頭のみ大文字で残りは小文字にする。文字の結合は「_」を使わない。 String,NilClass
nil? nil?メソッドはオブジェクトが存在するか判定する。 nil?

参考文献

JavaプログラマのためのRuby入門

JavaプログラマのためのRuby入門


Javaと照らし合わせながら、Rubyについてとても丁寧に解説してくれる本。
普通にRuby入門としてもいい気がする。Javaプログラマーにとって非常にありがたい。

感謝のプログラミング

今回で感謝のプログラミングは【481時間目】
10000時間まで、あと【9519時間】