novelty日記

データサイエンスやプログラムなど

ざっくばらんメモ_5:gitのcommit頻度、Dvorak配列、コードの拡張性

git commitの頻度とタイミング

現状の機能を損なわない範囲で新機能を部位を最小単位でインクリメントし、 その度にローカルでコミットしておく。コミットの数は多くて良い。 そうする事で、予期せぬバグが発生した際、直近の正常動作する 状態へ戻す事ができる。

あるいは正常動作を担保するためにテストをこまめに書いておくのも重要である。

Pushする場合はそれらを1つの機能単位でpushを行う。

細かなコミットの集まりをプッシュしてしまうとコミットが簡単に 増えてしまい、その管理が難しくなるため、機能単位で必ず まとめてから行うと良い

Dvorak配列について

通常のキーボード配列はqwerty配列であるが、 この配列はキーを打つ上で最適な配列とはいえない。

歴史的にタイプライターを早く打ちすぎる事による故障を防ぐために あえて打ちづらくしている配列との事。

対して、キーの打鍵頻度などからより最適な配列として 提案されているのがDvorak配列である。

仕事などで長い間キーボードを打つ必要が有る場合には Dvorak配列を採用する事で仕事スピードの改善が期待できる。

コーディングにおける拡張性について

コーディングする際の構造を考える際、そのコードの立ち位置を知る事が指針になる。

書くべきコードが今後も変わる事のない特定のタスクに関するものの場合、 拡張性を意識する必要性は薄く、まだ抽象化などをあまり意識する必要もない。

一方、研究用途や、開発初期のコードの場合、今後新たな機能が追加されていく事が 十分予想される。

そのためコード自体を抽象化しておき、新たな機能を追加しやすくしたり、 既存の機能の変更を受け入れやすいデザインを心がける事が重要になる。

機能毎に、その機能のどの部分が今後追加、変更されやすいかを見極め、 それに合わせたレベルの拡張性、柔軟性を備えておけば、レガシーコードを捨てて 再度1から書き直すといった事態に陥りにくくなり、無駄をなくす事が 期待できる。