コーディング

できるだけコードに仕様を埋め込む努力をしよう

例えばこんな仕様がありました。 鼻毛を処理する道具があれば鼻毛処理ができる。道具には、鼻毛抜き、鼻毛カッターがある。これに対してこんなコードがありました。 001 If 鼻毛抜きの在庫 > 0 OrElse _ 002 鼻毛カッターの在庫 > 0 Then 003 鼻毛処理() 004…

仕様書と同じ言語でコーディングをすること

件名:メソッドや変数に日本語を採用したい 最近、@ITにこんなスレッドが浮かんできたので、過去にもブログで書いていますが、 もうちょっと書いてみます。以前書いたとおり ■[IT雑感]日本語でコーディング 最近、開き直ったように日本語でコーディングして…

省略してはいけない。(VB6)

VB6の話。 VB6はメソッドの引数につけるByVal,ByRefを省略するとByRefでした。そこで、こんなコード。 (良いサンプルが思いつかなかった・・・) Private Sub やってはいけない(hoge As String,RecordCount As Integer) RecordCount = なんらかを実行して件…

疑うのは環境から

昨日と今日で同じプログラムが動いているのに、 今日突然動かなくなった。 そんな時、疑う順番は 昨日と今日の環境の差異からだ。 これをすっとばして、デバッグしたところで多分解決には辿り着けない。

やってはいけない 変数名

trueの時はプラス falseの時はマイナス を表す、bool型の変数の名前 bool plusMinusFlagtrueの時、どっちなのか分からない。

参照型と値型の値渡しと参照渡しについて

型は大別すると参照型と値型にわけられる。 だから引数として渡すパターンとして、 参照型の値渡しと参照渡し 値型の値渡しと参照渡し がある。 参照型と値型のそれぞれが何を値として持っているかに着目すれば、 参照型と値型で値渡しと参照渡しの動作は変…

スコープ

変数に限らず、スコープは最小限に留めていただきたい。 上のループカウンタの話に繋がるのだが、 なんで、ループの中のループで使っているカウンタ変数jをメソッドの先頭で宣言して、気持ち悪くないんだろうか。 実装のフェーズの事しか考えていない人は、…

int iとかint jとか・・・

ループカウンタだからって、i,j,kは許されない。(私的には) 配列のインデックスを表すならindexで良いと思う。 思わず、 i(いまいちだ) j(自嘲しやがれ) k(くそーすめ) とあいうえお作文してしまうので、勘弁して欲しい。DataRowだから、drね。っつーのも…

変数の宣言は最小スコープで。

変数を宣言する時は、そのスコープが最小になるようにしましょう。 メソッドの先頭でまとめて宣言とか、しなくて良いです。 つか、しない方が良いです。 本当は、そのメソッドの一部にしか使っていないのに、先頭で宣言なんかしちゃったら、そのメソッド全体…

日本語でコーディング

最近、開き直ったように日本語でコーディングしている。 クラス名、メソッド名等も含めてである。 以前、実験的に行った際にIMEを立ち上げることによる、オーバヘッドが思ったよりも少なかった事。 実際に、運営されているプロジェクトでとりあえずエンティ…

自分が何をコーディングしているのか理解しないまま仕事しちゃ駄目

下記のコードをネット上で見て、うすら寒い思いをした。 (原文ママではありません) Dim dv As New DataView Dim dt as New DataTabledt = CreateData() 'DataTableを返すメソッド dv = dt.DefaultView この場合、dtはCreateData()から返されたDataTableの…

最近、クラス名に日本語を用いている

働きかけの結果、前回のシステム開発からシステム内で利用する用語に関連するテーブル名およびクラス名に日本語を採用する事になった。 用語を日本語と英語で用意しなくてもよいし、コメントレスコーディングを推奨している側面から見ても、メリットが向上し…

コメントレスコーディングのススメ

コメントを書かないでコーディングしましょう。 コメントを書かないでコーディングしましょうと言うことは、プログラムの解読をコメントに頼らない。読みやすさをコメントに頼らない。という事で、読みやすいコーディングを心がけましょうと言うことです。 …