なみひらブログ

学んだことを日々記録する。~ since 2012/06/24 ~

コーディング時に気をつけること。

最近忘れ&サボり気味なので、再認識(;´Д`)

Copyrightは必ず書く

お給料を貰って書くコードなので。

/*
 * Copyright (C) 2014 XXXX Co.,LTD. All rights reserved.
 */

インデントは、タブではなくて、スペースにする

タブは環境依存があるから、いろんなヒトがいろんな環境で修正すると、インデントがガタガタするので。個人的は、スペース4つがいい。

@authorは書かない

  • 誰が書いている/メンテナンスしているかは、バージョン管理のコミット歴見ればわかるから。
  • 既に@authorが書いてあるコードを修正した場合、どうすればいいか毎回悩むから。
  • どうしても書かなければいけないときは、もっと上位のファイルに書く。(package-info.javaとかpom.xmlとか)
  • 最近、本(Team Geek ―Googleのギークたちはいかにしてチームを作るのか)で知ったルール

コミット時のコメントをもっと丁寧に

  • コミット時のコメントは、「なんのために」「どんな変更をしたか」を明確に。
    • 一方で、できるだけ長文は避けたい。。。難しいところ。
  • redmineチケットと紐付ける。(refs)
  • ダメな例:「なんのために」が抜けている)←すいません(;´Д`)「データが取れないときでも、基本動作に支障がでないように」です。
バイナリデータが取得できなかったときでも、処理を続行するように修正しました。
refs #16222

テストコードは、以下を意識して書く

  • 以下の明確にする。
    • テストのために、「なにを準備して」=prepare
    • 「なにをテストして」=action
    • 「なにを確認している」か。=check
  • コメント/テストのメソッド名にはこだわらない。
    • 中身をみれば理解できるようにしたい。
    • ビルド失敗しても、コメント/メソッド名は見ないから。
/**
 * 登録後、設定取得します。
 */
 @Test
 public void test_post_get() {
	// setup <-コメントで段落を意識する。
	final Setting profile = getSetting(STR);

	// action
	final Setting ret = controller.post(profile, request, response);

	// check
	final Setting result = controller.get(ret.getId());
	assertEquals(ret.getId(), result.getId());
 }