最近、レベルが結構高めのプロジェクトに参加しています。
どのくらいかというと、東京タワーの1/3くらいです。
そこで見たコードは中々すばらしいものでした。
特にすごいのはマルチスレッド全快で、超高速に動作することです。
余計なコメント行が入っていない、Javaのバージョンも上げて行っています。
それだけじゃないけど、それだけにしとこう。
頭の固い、金のないプロジェクトは作ったものは極力触らないようにということをやりますが、
高速化の為に定期的に改造したり、リファクタリングしたり。
もう、すばらしいです。
そして、すごいのはデザインパターンです。
GoFのデザインパターン、Domain-Driven Design。
おかげでクラスの数がメッチャ多いのですが、Javaっぽいと思えば問題ないです。
また、IDEがあればそれこそ関係ない。
僕ほどの中流階級の中級プログラマーになると。
コードを見れば書いた者の技量が、ほんの1cmほど分かります。
名前の付け方とかコードの組み方とか経験上この設計怪しいなとか。
ほぼ何となく分かります。
アーキテクチャーを考えたであろうメインメンバーが誰かということもコードの書き方を見たら、
分かります。
それがPMクラスの人だから本当にびっくりです。
トップの人間が最強なんて、とてもうらやましい限りです。
僕は保身に走ったり、何も知らない無能な上司しか見たことなかったので、一番の衝撃が
そのような人が居たことです。
転職はこのような素晴らしいPMが居る処で働きたいものです。
まぁ、どうなることやら。
今日感じた難しいコード2種類。
1つ目がデザインパターンを適所に使たり、Emunとかjava.util.concurrentとかリフレクションとか
マルチスレッドのスレッドの共有違反しない為の方法とか、まぁ技術的にちょっと難しくて読むのが難しいコード。
2つ目が処理の流れが滅裂でメソッドの名前の付け方が微妙、何というのでしょうか何も考えずにコーディングしてからprivateメソッドに小分けしていくみたいな。
俗にいうスパゲティーなコードです。
どちらも初めて見ると読むのが難しいですが、1つ目は理解すればすごく読みやすくなります。
2つ目は読めば読むほど殺意の波動に目覚めてしまいます。
書いた本人は消し去りたい過去なのかもしれませんが、何で周りこれだけ綺麗なのに、そんなコード書いてしまったのか、、、
既に作られていたフレームワークが設計ミスで悲惨なコードになってしまうということではなかったのに。