2009-12-01から1ヶ月間の記事一覧

前提条件を破った場合、どのような挙動をするのか?

「Nullチェックされている前提の処理」とJavadocに書いたとき、「throws NullPo…」は書くんだろうか。んー、コード上は発生しうるけど、実際発生しないから不要なのかな はてなブックマーク - u1tnkのブックマーク / 2009年12月29日 まぁ、このブログで書い…

堅牢なコーディングルールを策定する方法(2)

いやー、なんか怖い人(笑)が見てるようだ。突っ込み激しそうぜよwさて、前回言っていた「判断ロジック」についての答えは各自考えてみただろうか? 各方面の反応を見ると「1〜4どれでしょうか*1」という問いにすり替わっちゃってる気がするけど、テーマは…

堅牢なコーディングルールを策定する方法(1)

「ある処理をするコードを書く」というのは「ある出来事を文章に表現する」のと似ていると思っている。まず表現に使う言語は様々であり、使用人口の大小はあれど、基本的に優劣はない。言語が同じだったとしても、十人十色の表現をし、全く同じ出来事を表現…

「仕様」と「実装の詳細」(2)

繰り返す。Fooクラスを利用するMainクラスを書く時、XはFooの「仕様」に依存すべきであり、Fooの「実装の詳細」に依存すべきではない。 public class Foo { public String bar; public Foo(String bar) { this.bar = bar; } public String getBar() { return…

課題管理システムの勘所(3)

etc

しばらく間が開いてしまったが。いよいよログインアラートのご紹介。下記のようなJellyスクリプトを用意し、JIRAが動いているサーバの適当なディレクトリ(JIRAのプロセスからアクセスできる所)に配置する。/var/lib/jira/jelly とかで良いんじゃないかな。…

仕様(インターフェイス)と実装の詳細 (1)

APIの公開/非公開が意識できるようになると共に、「仕様(インターフェイス)」と「実装の詳細」を意識できるようになるとよい。 このクラスの公開APIはどれか、非公開APIはどれか このクラスの仕様(インターフェイス)はどれか、実装の詳細はどれか という…

可視性と公開APIと非公開(内部)APIと

Javaではpublic, protected, default, privateという4種類の可視性がある。Javaを始めてしばらくの間、この4つの使い分けがよくできていなかった。 「外から呼ぶならpublic、呼ばないならprivate」時代 当時から、なるべく可視性は下げた方が良い(オブジェ…

MavenでLinuxのOS破壊

Mavenを使っていてLinuxのOSを破壊したので書いておく。 <plugin> <artifactId>maven-clean-plugin</artifactId> <configuration> <filesets> <fileset> <directory>/lib</directory> </fileset> </filesets> <failOnError>false</failOnError> </configuration> </plugin> mvn clean した時、通常は target ディレクトリ(配下のファイルも含めて)を削除する。これと共に、別のファイルも削除し…

課題管理システムの勘所(2)

etc

http://d.hatena.ne.jp/daisuke-m/20091202/1259769481 の続き。さて、今回はJIRAにおけるJellyの使い方。技術屋としてこっちを書きたかったので、↑のは前振りだw 前述の「最終ログインから一定期間以上経過している人にアラートメールを送る」という機能を…

課題追跡システムの勘所(1)

etc

仕事の現場に、新規で課題追跡システム(ITS)を導入する場合、いくつかの障壁があります。これらは主に、システムを使う人の知識と意識の問題ですが、それを列挙して対策をまとめてみます。 ログインしてくれない まず超根本。「導入しました」「あっそ」で…