タグ

ブックマーク / irof.hateblo.jp (12)

  • Eclipseのアレ、IntelliJ IDEAでどうやんの? - 日々常々

    Mac OS X 10.7.5 IntelliJ IDEA 12.0.1 community edition どうしてもオシゴトでは固定でEclipseさんを使うことが多いため、なかなか他のIDEさんに手を出しづらいのが悩みの種だったりする今日この頃。今日この頃と言いつつここ数年。正直Eclipseさんで困ってないってのもありました。 しかし、GroovyさんをEclipseさんからゴニョゴニョしてると、たまに不機嫌になってそっぽ向いたりして萌えるいまいちイケてなくて、IntelliJ IDEAさんのお力を借りねばならんかなーと思いはじめた次第です。 さて掲題の話は既出もいい所。公式にもあるくらいだし、日語訳してくれてる方もいる。 IntelliJ IDEA:: FAQ for Eclipse users (公式) Eclipseユーザの為のIntelliJ IDEA Q&A - 砂漠の

    daisuke-m
    daisuke-m 2013/04/27
    ああ、こりゃありがたい。
  • JUnitでテスト名の制約を取っ払う - 日々常々

    2020-06-11追記 稿の対象はJUnit4です。JUnit5で同等のアノテーション`@DisplayName(value)` が追加されているため、このような小細工は必要ありません。 発端は[twitter:@ayato_p]さんのツイートでございます。「JUnitのテストメソッド名を日語で書く」のはそれほど奇異な話ではありません。 メソッド名を日語にする話 - 日々常々 JUnit実践入門でも「日語のメソッド名を使うメリット」と言うコラムがあり、サンプルコードのテストメソッド名は平然と日語で書かれています。 [isbn:978-4774153773:detail] しかし日語メソッド名なので、当然のようにメソッド名に由来する問題が幾らかあります。よく詰まるのは「そもそも使えない」ですが、これはVM引数などで解決出来ます。 JUnitのテストメソッド名に日語を使ったとき

  • junit-4.11.jar が単独で使えない - 日々常々

    寂しがりだから Hamcrest と一緒に使ってあげてね。 やってみる こんな風に書いて。 import org.junit.*; import static org.junit.Assert.*; public class HogeTest { @Test public void hoge() { fail("しぱーい"); } } こうして。 $ javac -cp junit-4.11.jar HogeTest.java $ ls HogeTest.class HogeTest.java junit-4.11.jar だーん。 $ java -cp ./junit-4.11.jar:. junit.textui.TestRunner HogeTest .F Time: 0.003 There was 1 failure: 1) warning(junit.framework.Test

    junit-4.11.jar が単独で使えない - 日々常々
  • 「xs.size() == 0 と xs.isEmpty() の違い」のツイートより - 日々常々

    今日は教育資料にブチきれて xs.size() == 0 と xs.isEmpty() の違いについて新人の子に熱く語ってしまった。教育資料と違うことを言って混乱させて申し訳ない 2012-09-06 22:34:07 via atig.rb @keita44_f4 サイズ取ると、例えばxsがリストだったりすると、それだけでO(N)になっちゃうけど、isEmptyはすぐに返せるとかそういうことかと。たぶん。 2012-09-06 22:47:42 via Tween to @keita44_f4 おお、そうか……と思ったんだ。連結リストはサイズ持つ必要ないから、sizeとると全部走って O(n) になりかねない。1件でもあればisEmptyはfalseになるんだから、そう実装すれば O(1) にできるんだなー。 と思ってLinkedListさんを見てみる isEmptyは影も形もない。Ab

  • assertEqualsよりassertThatが好きなわけ - 日々常々

    assertEqualsよりassertThatが好きなのは、Matcherもあるけど、引数の順番に悩まないからです。英語として云々なんてどうでもいい。。。。 2012-07-13 00:07:14 via YoruFukurou 元ネタ*1は「xUnitよりRSpecがいいとか言ってたひとは英文ぽいのがいいとか言ってたけどさー」みたいな感じでしたが、xUnitであるところのJUnitでも最近は assertThat なんてもんが入って英文ぽさを売りにすることもあったりなかったり。 ツイートでも言ってる通り、英文ぽさなんてどうでもいいと思ってます。可読性は大事だけど、読めるならそれ以上は要らない派。ならば決め手は何だ。書きやすさと、エラー時の表示です。 assertEqualsのばあい こんな感じに書きますね。短い。書く量が少ないのは良いです。でも1番目と2番目どっちがどっちだったか。 a

  • チームでフォーマッターを使うときのあれこれ - 日々常々

    (見やすいコードのために出来るたった一つのこと - 日々常々 の続きみたいなもの) 「フォーマッターを使わないなんてありえないよねー」とか思ってたけど、意外と使っていないプロジェクトは多いのかもしれない。思い返せば、私の経験上も多くのプロジェクトで使ってなかった。なので導入する時にあったあれこれを思い出しつつ書いてみる。 必ず同じ定義を使用する 必ず全員同じ定義でフォーマットしましょう。 個々人の好みはあるとは思いますが、それ以上に共通したものを使うことのメリットの方が大きいはずです。 これから導入する場合、まずはその言語で一般的っぽい定義を手に入れ、既存のコードをフォーマットしながら微調整するのがいいです。 なるべく早いうちに導入する 可能な限り早く導入しましょう。途中からの導入も可能ではあります(後述)が、それでもなるべく早期に導入しているほうが、余計なコストもかかりません。 何よりチ

    チームでフォーマッターを使うときのあれこれ - 日々常々
    daisuke-m
    daisuke-m 2012/04/27
    一回作ると一生モノの財産かもしれない。言い過ぎ?w
  • 見やすいコードのために出来るたった一つのこと - 日々常々

    タイトルは釣りっぽいですけど、結構まじめ。 フォーマッターを使用すること。 これが全てです。「スペースがどうこう」とか「括弧の位置がどうこう」とかどうでもいいです。そんな美的感覚でかわるような枝葉の話に結論は出ません。 コードフォーマッターを使用してください。そのプロダクトを通して、統一された同じフォーマッターでフォーマットすること。コードはそれだけで格段に見やすくなります。個々人が好き勝手にやったり、気をつけたり、CheckStyleなどでの見た目の警告を処理したり……そんなのしてたら不統一で見難いコードにしかなりません。 個人個人での見やすさとかはあります。当然です。例えば変数代入のイコールの位置がそろってる方が見やすい人もいます。変数宣言は1行開いてた方がいいって人も、メソッド間は2行開いてた方がいいとか、賛同できませんけどそんな人も居ます。そう言うときは自分専用にフォーマットして、

    見やすいコードのために出来るたった一つのこと - 日々常々
  • 私の技術書の選び方 - 日々常々

    技術者たるもの、毎月積読タワーを成長させる義務があります。嘘です。成長させちゃいけません。とは言え毎月のように新しい技術書に触れる事は重要だと思います。私はそれほど読書速度も速くないし、勤勉でもありませんが、それでもそこそこの量は読んでると思います。 毎月の技術書代 「技術書に幾らかけているか?」はたまに話題になります。私の場合だいたい 1万円/月 です。値段がどうしたと思うかもしれませんが、だいたい冊数がわかります。3,000-4,000円 が多いので、だいたい3冊ってことですね。 費用自体は収入や読書速度、近くの図書館の蔵書などにも左右されるとは思いますが、勉強会でお会いする方々に聞いてみたところだいたい似たようなものでした。中には 2-3万円 かけてる方も居ましたが、大事なのは継続して読み続ける事だと思います。なので月当たりの費用を聞いてみました。はそのまま身に付きますので、払えな

    私の技術書の選び方 - 日々常々
  • Java7でmainメソッド無いクラスが実行できなくなった - 日々常々

    前書いた気がするんだけど見当たらないから書いておきますね。 PS> java -version java version "1.7.0" Java(TM) SE Runtime Environment (build 1.7.0-b147) Java HotSpot(TM) 64-Bit Server VM (build 21.0-b17, mixed mode) PS> cat Main.java class Main { static {System.out.println("Hello");} } PS> javac Main.java PS> java Main エラー: メイン・メソッドがクラスMainで見つかりません。次のようにメイン・メソッドを定義してください。 public static void main(String[] args) PS> ちなみに Java6 だと。

    daisuke-m
    daisuke-m 2011/08/05
    なんだとおお!?
  • HashSetでequalsとhashCodeを使った問題 - 日々常々

    以下のコードを実行したらどうなるか。 (1) Set set = new HashSet(); set.add(new Object()); set.add(new Object()); System.out.println(set.size()); (2) class A { public boolean equals(Object obj) {throw new RuntimeException();} } Set set = new HashSet(); set.add(new A()); set.add(new A()); System.out.println(set.size()); (3) class A { public int hashCode() {return 1;} } Set set = new HashSet(); set.add(new A()); set.ad

    HashSetでequalsとhashCodeを使った問題 - 日々常々
    daisuke-m
    daisuke-m 2011/06/25
    これ、実はものすごく大事な、知っておくべきこと。
  • Java7 体当たり/try-with-resources Statement - 日々常々

    JDK7 を使う準備が出来たので、体当たりします。 Java7 での個人的に嬉しいのが try-with-resources Statement です。AutoCloseable (を実装したクラス)の変数をこの構文で初期化すると、勝手に close してくれるってものです。 ではさらっと使ってみます。 public class TryWithResources { public static void main(String[] args) { try (AutoCloseable imp = new AutoCloseableImpl()) { // New! System.out.println("hoge"); } catch(Exception e) { System.out.println("catch:" + e); } finally { System.out.printl

    Java7 体当たり/try-with-resources Statement - 日々常々
  • 勉強会にいこう - 日々常々

    プログラマになろうで「外の勉強会に行きましょう」とか書きましたけど、「そんな事言われても…」と感じる方も結構居ると思います。そんな方の気持ちを少しでも楽に出来ればと思って書いてみます。 いつどこでやってるの? まず存在を知らなければ参加も出来ませんね。という事で私が見つけてるところ。 Welcome to Twitter - Login or Sign up ATNDカレンダー検索 IT 勉強会カレンダー Twitterは言うまでもないですね。ATNDカレンダー検索はATNDの検索をしてくれるもの*1。IT勉強会カレンダーは id:hanazukin さんが個人で趣味でされているものらしいのです*2が、あらかたの勉強会の情報は集まっています。参加されてる方の話を聞くと、こちらで知ったって方も結構居ます。 募集サイトはいくつかあります。(随時追記) イベント開催支援ツール アテンド : AT

    daisuke-m
    daisuke-m 2011/05/15
    賛同。「勉強してから資格試験申し込む」と同種の罠を指摘している。
  • 1