はじめまして、勝股です。
ラフアンドレディのSEとして日々戦っています。👦
今回は私がシステム開発や設計をする時に意識している事をつらつら書いてゆきます。
私がシステムの開発や設計を行う時に気にしてる事は、以下の3つです。
- 誰が見ても解りやすい、意味を理解しやすいロジックを作ること
(特に経験が浅い人に対して) - なるべくロジックの通り道をシンプルにして、無駄な処理をしないこと。
- 作ったソースの再利用や拡張を行いやすい様にすること。
- 実装の前に立ち止まる
この4つを意識しておくと、自分以外の誰からしても扱いやすいシステムが出来ます。
なかでも「実装の前に立ち止まる」に関して、
マニアックなロジックや超絶技巧を駆使してシステムを作成し、
「自分って凄いんだぜ☆彡」的な自己陶酔型SEにならないように気をつけてます。
あと、自分が掲げる信条に、
「良質なロジックは、膨大な知識量から生まれる。」
・・・と言うのがあります。
例えば、Java等のString型の空文字、NULLチェックについては
標準てきなメソッドは用意されおてらず、
処理も単純なので自分でそれ用のメソッドを作る人がいるとします。
でも、もしApache commonsがフリーで提供している
commons-lang3のAPIの存在を知っていれば・・・
StringUtilsクラスのisEmptyメソッドを使えば自作する必要はなく、
APIを使えば簡単に実現できると思うはずです。🙌
そうすることで改めて実装するものより、品質の保たれたisEmptyメソッドを利用でき、
結果的に作成しているシステムの品質も向上します。
この様に、知っている事と知らない事の違いでロジックの出来に差が出てきます。
例のisEmptyメソッドはとても小さな差であるかもしれませんが、
小さなロジックでもバグが含まれる可能性は、自ら実装し続けると指数関数的に増えていきます。
ですので、日々時間があれば技術的知識を増やすように心がけています。
・・・などなどを常に意識しながら、いつも仕事をしています。👀
次回は設計について思うことを書いてゆきます。
デザインパターンや設計思想について、触れていけたらと。
以上、勝股 でした!! (^-^)