・可読性と設計思想はしばしば対立する。
・設計思想はもちろん重要で、変更修正の行いやすさとか
定番パターンを導入して綿密に考えられたシステムを構築できる。
・しかし、その実装コードは、その思想を本当に理解していない人が見ると
何でこう書いてあるのか意図が読み取りにくい不可解なものになるかもしれない。
・人間の目に一度に入る情報は空間的な限界があり、
「隣り合って配置されているもの空間的に近いもの同士が関連度が高い」
と直感するし、
・コードに使われている「単語」について「自然言語としての意味の先入観」
を持っているので、「見慣れない単語」が使われると困惑する。
・設計思想の中には、これらの直感に反して、ある1つのものを空間的に
バラバラに配置したり、「抽象概念」を表す単語を使わなければならない
場合が多々ある。
・もし、これらが原因設計思想を「間違って解釈」して実装してしまった場合、
目も当てられない状況になり、実装者は「設計を理解していない」し、
・設計者側も実装コードををみて「何がしたいのか」が分からない。
・「可読性」だけを重視して実装する人は、設計思想を無視して暴走して
しまうかもしれないし、
・「設計思想」だけを重視している人は、周囲の人間を置き去りにして
しまうかもしれないし、「実際に出来てしまったモノ」に対して
柔軟に受け入れたり、その実装状態を分析することが出来ないかもしれない。
・この問題に対して、落とし所を発見していく必要があると思う。
探検
「可読性」 vs 「設計思想」 [無断転載禁止]©2ch.net
■ このスレッドは過去ログ倉庫に格納されています
1デフォルトの名無しさん
2017/09/22(金) 18:28:21.24ID:TEjQ41s32017/09/22(金) 18:53:24.76ID:Sr724cYm
設計書書けや
2017/09/22(金) 18:53:48.89ID:nWdVED5J
まず、>>1の可読性が低い
2017/09/22(金) 20:59:36.31ID:ka2EbGnk
そこまで相反するものでもないな。
5デフォルトの名無しさん
2017/09/22(金) 21:53:23.29ID:TEjQ41s32017/09/22(金) 22:10:10.18ID:Sr724cYm
2017/09/22(金) 22:17:22.26ID:GY+4Cry4
要求と設計思想はしばしば相反する
改訂と設計思想はたびたび相反する
工数と設計思想はむなしく相反する
改訂と設計思想はたびたび相反する
工数と設計思想はむなしく相反する
8デフォルトの名無しさん
2017/09/22(金) 22:45:59.11ID:TEjQ41s3 >>6
ああ、たしかにそのとおりだ
レアケースに注目しすぎるからそうなるんだろうな
設計書を書くときはレアケースは気にしすぎないほうが
いいのかもしれない。
あと、俺は設計書要らないなんて言っていない。
ああ、たしかにそのとおりだ
レアケースに注目しすぎるからそうなるんだろうな
設計書を書くときはレアケースは気にしすぎないほうが
いいのかもしれない。
あと、俺は設計書要らないなんて言っていない。
2017/09/23(土) 01:27:28.56ID:PFKg/P6i
設計思想って具体的にどういうものをいってるのか例を上げてよ
詳細設計書を書くやつとコード書くやつを別人にしてて
そいつらの距離が遠いから発生してる問題のような気もするな
詳細設計書を書くやつとコード書くやつを別人にしてて
そいつらの距離が遠いから発生してる問題のような気もするな
10デフォルトの名無しさん
2017/09/23(土) 03:01:23.27ID:b6I3iAXW Lispがシンプルな設計になっている
代わりに読みづらいみたいなことだな
代わりに読みづらいみたいなことだな
2017/09/23(土) 03:04:38.39ID:cczvpRES
イマドキの可読性高いって小学生にも読めるくらい簡単って意味で使われてないか?
思想を理解できる教養のある奴に読んでもらえよ
思想を理解できる教養のある奴に読んでもらえよ
2017/09/23(土) 03:04:54.55ID:3Bk8qYPA
設計思想をソースコードの形で記述できる言語がほしい。
機械解釈できないコメントはなるべく減らせ
機械解釈できないコメントはなるべく減らせ
2017/09/23(土) 09:10:20.44ID:lJTicCY1
2017/09/23(土) 12:11:00.72ID:3Bk8qYPA
設計にも色々有るけど、ディレクトリ構造も
設計の一つなんだよな。
そのディレクトリ構造に入れるクラスはどんな種類か
ってのも決まってくる
そういうことをソースコードで書いて
コンパイル時に検証したい
設計の一つなんだよな。
そのディレクトリ構造に入れるクラスはどんな種類か
ってのも決まってくる
そういうことをソースコードで書いて
コンパイル時に検証したい
2017/09/24(日) 07:02:53.85ID:8RvRn5fH
設計思想に誤りがある時点で、要求を満たしてねーからな。
2017/09/24(日) 14:58:02.18ID:uS0xIQvj
設計の意図のことを設計思想と呼んでるんだな
設計思想というと設計哲学みたいなもう少し抽象度の高い話だと思ってたわ
設計思想というと設計哲学みたいなもう少し抽象度の高い話だと思ってたわ
17デフォルトの名無しさん
2017/09/24(日) 21:48:22.60ID:VAo7cLSP 物事を分離する粒度が細かすぎないか
迷うことはある。
迷うことはある。
2017/09/29(金) 23:20:57.36ID:tq5zCeMo
デザインパターン、オブジェクト指向などを覚えたてで使って見たい人は、特に若い人は、それが良い設計に思えてしまう罠に掛かる。
典型的な例が、アジャイルで言う「やり過ぎたコード」だと思う。
可読性と言うよりは、設計の基本が理解できていない状態だ。
典型的な例が、アジャイルで言う「やり過ぎたコード」だと思う。
可読性と言うよりは、設計の基本が理解できていない状態だ。
2017/09/29(金) 23:43:59.20ID:tq5zCeMo
設計の基本は常に、
モジュール凝集度は高く、
モジュール結合度は下げる
事にある。
ダメな例の典型は規模によって凝集度が変わる事を理解出来ていない事だ。
例えばjavaの1クラス、1ファイルの思想があるとする。この状況でステートパターン等で1ステート毎にクラス分けしたとする。
仮に30ステートあり、各クラス内部のソースコード(例えば1,000行)が密接に連携し、逆にクラス間の結合度は低く、クラス毎に担当者を分けて並行して実装出来る状況であれば、これは素晴らしい設計だ。
しかし1ステートが実質10行ぐらいしか無ければどうだろう。コンストラクタやお決まりの定形処理に引きずられて、全体で見ると、1ファイル300行にまとめた時より凝集度は下がるだろう。
定形処理を変更しなくてはならない場合、規模が小さいと相対的に変更量が増えるため凝集度が下がるのだ。
モジュール凝集度は高く、
モジュール結合度は下げる
事にある。
ダメな例の典型は規模によって凝集度が変わる事を理解出来ていない事だ。
例えばjavaの1クラス、1ファイルの思想があるとする。この状況でステートパターン等で1ステート毎にクラス分けしたとする。
仮に30ステートあり、各クラス内部のソースコード(例えば1,000行)が密接に連携し、逆にクラス間の結合度は低く、クラス毎に担当者を分けて並行して実装出来る状況であれば、これは素晴らしい設計だ。
しかし1ステートが実質10行ぐらいしか無ければどうだろう。コンストラクタやお決まりの定形処理に引きずられて、全体で見ると、1ファイル300行にまとめた時より凝集度は下がるだろう。
定形処理を変更しなくてはならない場合、規模が小さいと相対的に変更量が増えるため凝集度が下がるのだ。
2017/09/29(金) 23:52:07.16ID:tq5zCeMo
多分、これを可読性と言っていると理解したが、基本、なぜその設計をしなくてはならないのか? どう言うメリットがあり、どの規模や状況なら、そのメリットがデメリットを上回るのか?を常に考えないと、その設計思想は良い設計なのかの判断はつかないだろう。
良い設計思想=良い設計 では無い。
良い設計思想=良い設計 では無い。
2017/09/30(土) 00:00:10.13ID:MuV6ZELy
>>19
>例えばjavaの1クラス、1ファイルの思想があるとする
それは設計思想じゃなくて単なる慣習
Convention over Configurationとかが設計思想
設計思想は設計時に発生するトレードオフに対する判断基準となるもの
>例えばjavaの1クラス、1ファイルの思想があるとする
それは設計思想じゃなくて単なる慣習
Convention over Configurationとかが設計思想
設計思想は設計時に発生するトレードオフに対する判断基準となるもの
2017/09/30(土) 00:39:50.47ID:4QF+s1AD
Java言語を作った人たちが考えた設計思想かな。
convention over configrationsは初めて知った。が、内容見ても話しが噛み合わない。
>設計思想は設計時に発生するトレードオフに対する判断基準となるもの
→ほんとにそうなの?
convention over configrationsは初めて知った。が、内容見ても話しが噛み合わない。
>設計思想は設計時に発生するトレードオフに対する判断基準となるもの
→ほんとにそうなの?
2017/09/30(土) 00:50:02.34ID:Juh3JZfh
>>22
最近はconvention over configurationsやたらと目にするけど、本当に初めて?
最近はconvention over configurationsやたらと目にするけど、本当に初めて?
2017/09/30(土) 19:46:45.94ID:uUgLNISl
初めて。
やっぱり、1が書いている以下の文からして、何でも新しい単語を覚えると、それだけが絶対に素晴らしいって勘違いするタイプだよな。
〉・設計思想の中には、これらの直感に反して、ある1つのものを空間的に
バラバラに配置したり、「抽象概念」を表す単語を使わなければならない
場合が多々ある。
多々あるから、状況に合わせて、様々な人が考えた設計思想でも何でも良いから、その中から最適なものを選んで、時には自分で作り出す事を設計って言うんだよな。
バラバラに配置して分かりにくい単語使った挙句に、あんまりメリット無かったら単なるクソ設計何だよな。
やっぱり、1が書いている以下の文からして、何でも新しい単語を覚えると、それだけが絶対に素晴らしいって勘違いするタイプだよな。
〉・設計思想の中には、これらの直感に反して、ある1つのものを空間的に
バラバラに配置したり、「抽象概念」を表す単語を使わなければならない
場合が多々ある。
多々あるから、状況に合わせて、様々な人が考えた設計思想でも何でも良いから、その中から最適なものを選んで、時には自分で作り出す事を設計って言うんだよな。
バラバラに配置して分かりにくい単語使った挙句に、あんまりメリット無かったら単なるクソ設計何だよな。
25デフォルトの名無しさん
2018/05/23(水) 21:39:37.57ID:Au5e7VGg 僕の知り合いの知り合いができたパソコン一台でお金持ちになれるやり方
役に立つかもしれません
グーグルで検索するといいかも『ネットで稼ぐ方法 モニアレフヌノ』
6DEWX
役に立つかもしれません
グーグルで検索するといいかも『ネットで稼ぐ方法 モニアレフヌノ』
6DEWX
26デフォルトの名無しさん
2018/07/05(木) 00:20:55.45ID:RfoszcD2 04S
■ このスレッドは過去ログ倉庫に格納されています
ニュース
- 「日本が戦争に一歩踏み出す危機感」官邸前で抗議デモ 高市総理“台湾有事”発言の撤回求める 中国メディアの姿も [蚤の市★]
- 【沖縄】『ジャングリア沖縄』開業4か月で「ガラガラ」「当然の結果」衝撃の閑散ぶりで気になる来場者数 [煮卵★]
- 【クマ】「人間が優先で何をしてもいいとなったら、世の中はおかしなことになる」「クマがいる自然を自慢してもいい…」北海道獣医 [少考さん★]
- 【テレビ】片山さつき財務相 18兆円の補正予算案、財政規律派に「無駄にどこかに消えちゃうお金は一銭もない」 [少考さん★]
- 【特撮】今森茉耶降板の「ナンバーワン戦隊ゴジュウジャー」代役・志田こはく初登場 「潜入調査のために変えてもらったこの顔と声」 [Ailuropoda melanoleuca★]
- 公明党が「中道改革ビジョン」、消費減税や選択的夫婦別姓盛り込む……立憲・野田代表「我々と極めて親和性がある」 [少考さん★]
- 小林鷹之「経済の中国依存から脱却して将来的にはゼロに近づける。世論が高市首相を批判すれば誰が得をするか考えて欲しい」 [931948549]
- 高市総理叩いてる人たちってじゃあ中国が突然日本を攻めてきたらどうするの? [268718286]
- 【速報】『任意のVTuberの演者と結婚できる』『任意の女子アナと結婚できる』どっちがいい❓?❓?❓?❓ [149381265]
- 【岸田悲報】人事「チー牛は容赦なく面接で落とす。臭い上に協調性もないしはっきり言って無能」🐮 [559744496]
- 公務員ボーナス増額77万円、民間の約倍に 広がる格差
- タイトル「花火」の曲、名曲しかない [382163275]
