注意
異論は全面的に認める。
書いた人のスペック
- Laravel大好き
- EC-CUBE2で一瞬地獄を見た事がある
- 最近Twitterアカウント消したのでQiitaに寄生している1
下書きに残ってた
https://github.com/EC-CUBE/ec-cube/blob/master/src/Eccube/Application.php
https://github.com/laravel/framework/blob/master/src/Illuminate/Foundation/Application.php
1年以上前に書いたらしき、URLを2つだけ書いた下書きが残っていて、なんじゃこりゃって思ったんだけど、
当時EC-CUBE2の案件に関わることがあってなんやかんやで辟易していて、
EC-CUBE3が進行中って聞いたんで「じゃぁきっと良くなるんだね!」って期待を持ってソースを見に行ったら絶望したときに書いたものだと思う。
ちなみに、最初に絶望したところはEC-CUBE2と比較して全く改善されてないER図でした。2
確か、マジ絶望って社内で呟いてたときにどう絶望なのか聞かれて、
それに答えるために、敢えてLaravelの同名のクラスと見比べるっていう回答をしたんだと思う。
敢えて多くは語りませんが
initialize
の中に直接エラーメッセージが書かれてたり、
initRendering
あたりの深いネストもすごく素敵だと思うし、
絵に描いたような典型的なGod Class、いわゆる神クラスになってて興味深いです。34
いや、わかるんスよ?
レンタルサーバーでの動作を念頭にあるからPHP5.3.9で動作しなきゃいけないとか、
だからTraitも使えないし、short array syntaxも使えないし可読性はどうしても落ちるよねーと思いますし。5
実際、古いバージョンのサポートってきついものがあるしね…私ももうできれば7以上だけ触ってたい。6
良いものが使われるのではない、使われるから良いものなのだ
これは私も真理だと思うので、嫌味抜きでEC-CUBEは良いものだと思いますよ。7
ま、それと、エンジニア的に見た「良さ」はまた別次元だよね、というお話だったのさ。8
-
Twitterアカウント消したら一気にQiita欲が増えたライフハックおすすめはしない ↩
-
2のとき使ってるカラムと使ってないカラムが混在してて実際こっち見てなかった、みたいな事が多々あり、そのまま持ってきたような設計でマジ絶望したんだっけなぁ…(遠い目 ↩
-
「Applicationクラスは何をするのか」の問に、『アプリの初期化を行う』とか答えるんだろうなーとか思うわけですよ。「アプリの初期化には何があるか」の部分を考えてないというか、思慮が足りないというか。 ↩
-
新人教育で「駄目なところを○個以上挙げよ」とかってすると面白いかもね? ↩
-
まぁ可読性以前の設計の問題だと思うんですけれどね ↩
-
まぁPHP7以上のみ対応だったとしても(略↩ -
本当ですよ? ↩
-
なので「じゃぁお前が書けよ」と言われても困るけど。EC-CUBE以上に「使われる良いもの」は作れないだろうし。 ↩