アジャイル開発におけるプログラミングの重要なキーワード
事務職をやっていると、同じことを繰り返すことが結構出てきます。
そこでVBAを中心に作業の自動化を進めていて、素人レベルなので今後のことも考え、アジャイル開発に使うソフトウェア工学のノウハウを備忘録としてまとめます。
主にプログラミングに関するものです。
プログラミングの原則として調べたところ、以下のものがあります。
- KISS(Keep it simple stupid。シンプルにしておけ)
- DRY(Don’t Repeat Yourself。同じことをするな)
- YANGI(You ain’t gonna need it。無駄なものを作るな)
- 関心の分離(プログラムを関心(責任・何をしたいのか)毎に分離された構成要素で構築すること)
思考の粒度にもよりますが、これとプログラムの速さとの兼ね合いやバグの発生率など、バランスを考えると仕事の難しさがわかります。
他にもSOLIDというオブジェクト指向向けプログラムの思想もあります。
- 単一責任の原則 (single-responsibility principle)
- 開放閉鎖の原則(open/closed principle)
- リスコフの置換原則(Liskov substitution principle)
- インターフェース分離の原則 (interface segregation principle)
- 依存性逆転の原則(dependency inversion principle)
ここまでは自分の頭では理解できないので、一旦名前だけ覚えておくことに。
テスト駆動開発
アジャイル開発にはテスト駆動開発というテスト手法があるようです。
簡単に書くとテスト駆動開発は
- コードを書く前に、失敗する自動テストコードを必ず書く
- 重複を除去する
細かく書くともっとありますが、備忘録なので初心者として、まずはここまで。
まとめ
ソフトウェア工学は突き詰めると、膨大なことを覚えることになるので挫折してしまいます。
そうならないように、まずは目の前の簡単なプログラムを作成できるところから始めて、スパゲッティコードと揶揄されても、まずは動くものを作り出す。
その後にどんどん改善と上記内容を一つずつ盛り込んで、学習していこうと思います。
とりあえず、100ステップのプログラムでも良いので、どんどん作っていきたいです。
ご参考になれば幸いです。
コメント