巨人の肩にダッシュで登る

僕がアウトプットできる人になるまでのブログ。形になるまでは温かく見守って下されば幸いです。

今日の自習 2019/02/26/火

今日のひとこと

昨日届いた↓が予想以上に読みやすい。

リーダブルコード ―より良いコードを書くためのシンプルで実践的なテクニック

お昼の休憩中に5章くらいまで読むペース。

大学生の時、研究室の教授が命名条件について厳しかった、と理由もあるのかも。

5章のフレーズに『「宿題時に題したコードの関数には必ずコメントをつけろ」

学生たちにこんなことを言う大学教授がいる。』とあった。

当時の教授はどういう考えで発言してたのだろう、と学生時代を思い出してたら、

昼休憩が終わった。


今日、「Effective Java」をAmazonで購入した。

英語版か、日本語訳か。とても迷った。

結論:日本語訳の本が出てる時点で、日本語訳を買う。

より早く読破して、日本語訳が出てない本を理解できる人間を目指す。

今日やる予定だったこと

  • 徹底攻略 Java SE 8 Silver 問題集の第6章を解いて答え合わせ。
  • スッキリわかる Java入門 実践編 第2版の14章〜15章を読破。
  • 今日やったこと

  • リーダブルコード ―より良いコードを書くためのシンプルで実践的なテクニックの1〜5章
  • 本ブログのデザイン変更。パターン変えただけ。
  • スッキリわかる Java入門 実践編 第2版の14章〜15章を読破。
  • 徹底攻略 Java SE 8 Silver 問題集の第6章を解いて答え合わせ。
  • 増補改訂版Java言語で学ぶデザインパターン入門 の第15章「Facade - シンプルな窓口」
  • 困ったこと・学んだこと・共有したいこと

  • Junitのテスト方法
  • junit.org
  • アサーション(assertion)の記述方法。↓は例。アサーション機能を有効にするためには、コンパイル時にはjava -ea Mainというように、-eaオプションをつける必要がある。
  • public class Account{
       private int balance;
       public void transfer(Account dest, int amout){
       /***/
       System.out.println("正常に送金完了しました。");
       assert this.balance >= 0;
       assert this.balance >= 0 : "負の残高 ・・・" + this.balance;
       }
    }
    
    $ java -ea Main
    

  • メトリクスについて。CoberturaでJavaプログラムのコードカバレッジを測定する
  • cobertura.github.io

  • メトリクスツール
  • findbugs.sourceforge.net checkstyle.sourceforge.net

    • 可変長引数の特徴
      • 同じ肩の数が可変な引数をまとめられるだけで、異なる型はまとめられない。
      • 可変長引数以外の引数を受け取る必要がある場合、可変長引数は最後の引数にすること。
    void sample(int value, int... num){ 
       // do something
    }
    

  • static領域とヒープ領域に分けられる。
  • 変数名が異なるだけでもオーバーロードにならない
  • 初期化ブロックはコンストラクタより先に呼ばれる。
  • public class Sample {
       Sample() {
          System.out.println("A");
       }
          System.out.println("B"); // 初期化ブロック
       }
    }
    
    public  class Main {
       public static void main(String[] args){
          Sample s = new Sample();
       }
    }
    
    //「B」「A」と表示される。
    

  • Javaのアクセス修飾子とUMLの可視性
  • アクセス修飾子UML
    public+
    protected#
    なし~
    private-

    明日やる予定のこと

  • スッキリわかる Java入門 実践編 第2版の14章〜15章を読破。
  • 徹底攻略 Java SE 8 Silver 問題集の第6章を解いて答え合わせ。
  • リーダブルコード ―より良いコードを書くためのシンプルで実践的なテクニックの6章