gakkie プログラミング 備忘録

tech::expert(現tech camp) 45期

35以上続けるために意識すること

  • まず、引数チェック、状態チェックは必ずやれ。コードが語る、 →悲惨なバグやメンテナンス性の低下はそういった自分の意図の表明を横着したコードから起こり始める。 「俺はこれをやる、だからこの機能を呼び出すならこういう状態にした上でこういう情報を渡せ、 じゃないならやらない」とはっきり言え。もしこの辺を冗長だと考える同僚がいるならもう辞めたほうがいい。

  • 引数チェックや状態チェックのコードで画面の半分が埋まったならそのコードは設計がおかしい。

一旦手を止めてよく考えろ。一つの機能を動かすのにそんなに引数がいるのか、そんなにチェックする状態が多いのか、そしてそれらは本当に必要か検討しろ。

  • テストコードは絶対に書け。テストコードが書けない技術は絶対に使うな。

意味のあるテストが書けないならやめたほうがいいという輩もいるが、とにかく意味があろうとなかろうと書け。 引数にこれを入れたらこうなる、こういう状態でこういう事したらこうなる、というお前の意図はとにかく示せるだけ示せ。

だいたいこの辺を横着したやつは翌年酷く後悔するか、そこのメンテを担当した同僚を攻撃している。

参考記事(いつもありがとうございます)

anond.hatelabo.jp

Java 例外処理

import java.util.Scanner;

public class Main {
    public static void main(String[] args) {
        System.out.println("ようこそ\n数字を入力してください");
        String s = new Scanner(System.in).nextLine();
        //i = Integer.parseInt(s);
        //System.out.println("入力値:" + s);
        try {
            //例外が発生する可能性のある処理
            int i = Integer.parseInt(s);
            System.out.println(i);
        } catch (NumberFormatException e) {
            //例外が発生した場合の処理(例外が発生しなければ行われない処理)
            System.out.println("ちゃんと数字を入力してください!");
        }
    }
}

Javascript 無料で見れるおすすめ参考書

JavaScript Primer 迷わないための入門書

  • ECMAScript 2015以降をベースにして一からJavaScriptを学べる書籍
  • プログラミングをやったことはあるが、今のJSがよくわからないという人向け、 今のJavaScriptアプリケーションを読み書きできるように書かれている。

200725 初版

CSSに困った時に使うサイト

Webパーツ屋

パーツ単位で記載しているので実践的なCSSの参考になる。

CSSでロゴのようにサイズが異なる画像を美しく揃えて配置するスタイルシートの実装テクニック

CSSで困ったときに頼ったサイト一覧

Find the first non-consecutive number

問題

  • 連続していない配列の最初の要素を見つけること
  • 連続していないということは,配列の前の要素よりも正確に1つ大きくないこと
function firstNonConsecutive (arr) {
  //初期化i=0、要素数-1がiより大きい場合が真の場合以下をくり返す。最後にiに1を足す。
  for(let i = 0; i < arr.length - 1; ++i){ 
    //index番号 = 値ではない場合、値を返す。
    if (arr[i] + 1 !== arr[i + 1]) {
      return arr[i + 1] //arr[i + 1]
    }
  }
  return null
}

いつもありがとうございます。

Find the first non-consecutive number