#UnityなのにJava的なプロジェクトでを見てぽか〜ん。
どういう事かと言うと、C#のnamespace宣言?を乱用して、あたかも共通クラス的なことを乱立させた結果、Unityのプロジェクトビューで検索するとControllerとかがめっちゃいっぱいある事象に遭遇しまんた。
クソなソースコードをコピーして、作ったので簡単でしょ?
**ふぁ。**なソシャゲーの引き継ぎあるあるです。
#何処がクソか。
まずは、他人のソースコードをあまり見ていないところ。このコーディング方法が正しいと思い込んでいる。実際に修正方法をライブで見せていただいたが、Unity使っているのにMacのFinderを開いて元ソースコードをコピーし、くそソースコードを量産していた。
#こんなので、ソースコードを後から見る人が追うの大変だと、思わないの?。
Unityのプロジェクトビューの検索結果ですが、どういう事かと言うと、実はそれぞれのCSファイルは、namespaceで別の宣言扱いになっている。
こんな感じ
Controller.cs
namespace Common.A {
public class Controller : MonoBehaver {
}
}
Controller.cs
namespace Common.B {
public class Controller : MonoBehaver {
}
}
ImportantOther.cs
public class ImportantOther : MonoBehaver {
void Start () {
Common.A.Controller();
}
}
LittleImportantOther.cs
public class LittleImportantOther : MonoBehaver {
void Start () {
Common.B.Controller();
}
}
単純なこぴぺの積み重ねが、作った本人も把握できないクソなプロジェクトを別の人種が引き継いでいますと言うお話。作りの考えかたがちがうんだよなー。
そもそもnamespaceの使い方が違う気がするぞ。興味本位でその方法つかってね?
なんの言語でもそうだけど言語仕様を悪用する人が多すぎね。それ、お前が作るの簡単なだけだから!
#大量生産大量消費的な生産方法は過去の遺物で、汎用的なソースコードってそういうことじゃ〜無いから。