X



オブジェクト指向のディレクトリ構造の調査と設計
■ このスレッドは過去ログ倉庫に格納されています
0001デフォルトの名無しさん
垢版 |
2021/03/07(日) 18:10:08.57ID:j0hLt10R
オブジェクト指向云々を議論するのは構いませんが、
結局ソースファイルがどこなのか分からなければ
話にならないことを忘れてはならないと思う。

大変なのは、プログラミングそのものより、
自分が手を加えなければいけないのはどの
ソースファイルでどのメソッドなのかということや
どこにディレクトリりを作ってどこに配置をすればいいか
決めることではないのか?

継承やポリモーフィズム、オーバーライド
抽象クラス、インタフェースとか使いこなすのは構わないが
ソースがどこにあるか余計わからなくなるようでは
後から参加する人が困ります。

また、ディレクトリ構造にはソースファイルが
だけがあるわけではない。
HTMLや画像や音声や設定ファイルや
JSON,XMLファイル、アプリ特有の特殊なバイナリ
だってあるんだ
これらをどう配置すればいいかなんて誰も教えてくれない
じゃないですか。
0002デフォルトの名無しさん
垢版 |
2021/03/07(日) 18:16:25.38ID:j0hLt10R
もっと最悪なのは
外部ソースをインクルードする文
そのものが変数化されてたり
関数型プログラミングやリフレクションにかぶれて
関数とかクラスが変数化されていることにより
実行されているソースそのものが
ソース読んだだけじゃ追いにくくなってたり

フレームワークの特殊な命名規約や
特殊ルール知ってないと、どこに処理が飛んでるのか
ソースを追えなくなったりすることが多すぎる。

新人とかに実装投げても、3時間経ってもまだ
ソース探してんだよ。
状況を聞くと「こりゃ初見じゃ無理だ。」って
思わざるを得ないことが多い。
俺が全部ソース探し手伝わなきゃならんのか?
0003デフォルトの名無しさん
垢版 |
2021/03/07(日) 18:25:47.99ID:WtkfuJ8m
最初は手伝ってやればいいじゃん、そのうち慣れるよ
0007デフォルトの名無しさん
垢版 |
2021/03/08(月) 08:16:33.09ID:hs7WEJ4d
ディレクトリ構造をドキュメントに落としてないとこなんてあるのか
新しく参加した開発者に最初に説明する内容でしょ
0009デフォルトの名無しさん
垢版 |
2021/03/08(月) 17:24:21.89ID:L/PaohrV
でも親子クラスの配置とか
抽象クラスやインタフェースと
実装クラスの配置まで考えて言うほど厳密に
ディレクトリ設計するか?

あと共通してどこからでも呼び出される
モジュールや関数とか

HTMLの共通外枠テンプレとか共通組み込み画面部品とか
CSSやJavaScriptの共通読み込みファイルとか
何だかんだグダグダになってカオス化しやすいイメージ
特に画面の部品はDIYを捨てて共通化せずに
画面とファイルが1対1の関係で使い捨てた方が絶対いい
コピペだってDIYだろ
画面だけは無闇に動的変動要素だらけにせずに直書きの方がメンテしやすい
バックエンドは共通化すべきだが
0010デフォルトの名無しさん
垢版 |
2021/03/08(月) 18:14:20.77ID:aw2IeuYt
ディレクトリ構造ってのはアプリケーションアーキテクチャの設計を反映したものなんよね

開発者にとってはディレクトリ構造がコードレベルでアーキテクチャを理解するための第一歩
0011デフォルトの名無しさん
垢版 |
2021/03/09(火) 10:55:45.61ID:xG3jZtoX
>>9
一般的には抽象クラスやインタフェースや実装クラスみたいな形式的種別でどのディレクトリに置くかを決めたりしない
各ファイルが持ってる責務で決める
0012デフォルトの名無しさん
垢版 |
2021/03/09(火) 11:00:09.58ID:p4cuNQqC
>>11
その理屈だとテストディレクトリなんてものは作らずに
ソースコードと同じ所にテストコードも置くべきということになるが?
0014デフォルトの名無しさん
垢版 |
2021/03/09(火) 11:41:59.83ID:SVNbCZD4
>>13
責務できめるからだろ
0016デフォルトの名無しさん
垢版 |
2021/03/09(火) 11:45:38.48ID:SVNbCZD4
>>15
インターフェースの責務をなんだと思ってるの?
0017デフォルトの名無しさん
垢版 |
2021/03/09(火) 12:00:20.58ID:uT9d2fS/
なるほどなー 責務という言葉だけでは理解できない人もいるんだな
勉強になったわ
0018デフォルトの名無しさん
垢版 |
2021/03/09(火) 12:09:40.76ID:z04g+BkK
はい、説明できずに逃げたー
0019デフォルトの名無しさん
垢版 |
2021/03/09(火) 12:20:35.95ID:MbPysK70
責務は能力と権限をセットにしたもの

テストとテストでないプログラムは機能も実行タイミングもアクターも違うので
分けていいと思うけど、パッケージプライベートのクラスをテストするために
クラスパスを同じにすることはあるよねー
■ このスレッドは過去ログ倉庫に格納されています

ニューススポーツなんでも実況