■ このスレッドは過去ログ倉庫に格納されています
1関数何行? 1クラス何行?
- 1 :仕様書無しさん:2012/10/28(日) 15:19:45.84 .net
- ※ただしプロジェクト全体の行数は1万行を超えるものに限る
- 43 :仕様書無しさん:2012/11/20(火) 10:50:38.42 .net
- >>42
国語辞書を見ても、本来、1関数(1メソッド)2行くらいが理想。
しかしプログラミング言語の事情から現実にはそれが20行になっている
ということではなかろうか
- 44 :仕様書無しさん:2012/11/20(火) 11:29:40.83 .net
- >>42
大手企業様(笑)は開発前からステップ数がわかっていないと気が済まないのだよww
- 45 :仕様書無しさん:2012/11/20(火) 20:05:05.50 .net
- 2行のメソッドズラズラ書かれても、却ってわけ分かんなくならない?
- 46 :仕様書無しさん:2012/11/20(火) 21:34:35.65 .net
- 1クラス何行(というか何メソッド)?の方の答えが見えんが
だれか言ってみて
- 47 :仕様書無しさん:2012/11/20(火) 22:28:40.06 .net
- >>43
主目的が1関数しか見ないならそうだろうね
- 48 :仕様書無しさん:2012/11/21(水) 10:42:52.79 .net
- >>45
>2行のメソッドズラズラ書かれても
同じことができるなら20行ズラズラよりいいよね
>>46
1関数何行の方はアプリに依存しないが1クラス何メソッドの方はアプリ依存
だから一概には言えんのじゃないか
- 49 :仕様書無しさん:2012/11/21(水) 23:14:43.65 .net
- 2行10個が20行1個ですむなら20行1個のほうがいいし、
40行1個よりは20行2個の方がいいです
- 50 :仕様書無しさん:2012/11/22(木) 20:25:57.42 .net
- Javaとかのウンコ言語では20行になる処理が
他の言語では2行になったりするし
どの言語の話なのかすら決めずに議論しても意味ないわ
- 51 :仕様書無しさん:2012/11/23(金) 01:16:10.35 .net
- ウンコといえば、50cmの一本糞を放りだしたことがある。
- 52 :仕様書無しさん:2012/11/23(金) 06:25:02.52 .net
- >>50
2行が20行になるといっても、mainとかimportとかIDEが
自動生成してくれる部分や{}だけの行を含んでるでしょ?
実際にタイプしないといけない文字数で言わないとw
- 53 :仕様書無しさん:2012/11/23(金) 09:46:18.31 .net
- メソッド全部2行で済ますなんてムリだろ
クラス1個newするだけで1行だぜ
どんなプログラム作ってんのか見せてほしいわ
- 54 :仕様書無しさん:2012/11/23(金) 10:47:05.53 .net
- >>53
可能。
出力 = 便利な関数1(関数2(関数3(入力)))
こんな形に持ってくれば、メソッド2行でも複雑なことが出来る。
まあ関数数個が限界で、こんな密度ばかりのコードだったら読みづらいから
数行に分けるのが普通だけどね。
- 55 :仕様書無しさん:2012/11/23(金) 23:23:59.69 .net
- >>53
>どんなプログラム作ってんのか見せてほしいわ
オレも見たい
>>54
> 出力 = 便利な関数1(関数2(関数3(入力)))
これはかなり無理してるから続かんよね。
無理せずいつも2行になるなんていうのが可能かという話なんだが
- 56 :仕様書無しさん:2012/11/24(土) 08:19:54.54 .net
- 関数呼び出しの階層が深いのを厭わない人なら一つ一つの関数は短くなるし
そうでなければ長くなってしまう
- 57 :仕様書無しさん:2012/11/25(日) 21:47:26.27 .net
- >>56
人に依るというんじゃなくて、ふつう
その呼び出し階層は何段くらいが心地よい?
一つ一つの関数はどのくらいの長さが心地よい?
- 58 :仕様書無しさん:2012/12/01(土) 11:59:26.76 .net
- 一読性を考えると80桁x20行以内
- 59 :仕様書無しさん:2012/12/02(日) 08:45:30.67 .net
- 今北産業基準で頼む。
- 60 : 忍法帖【Lv=7,xxxP】(1+0:5) :2012/12/03(月) 00:34:56.98 .net
- 10〜30くらい。大抵20ちょい。
コルーチンとかになると200くらい行くこともある。
- 61 :仕様書無しさん:2013/03/21(木) 17:37:39.25 .net
- >>54
Lispってこんな漢字だっけ?
- 62 :仕様書無しさん:2013/03/23(土) 13:47:52.51 .net
- ライブラリを作る、そして、
変数1=ライブラリ関数1(引数1, 引数2, ・・・);
変数2=ライブラリ関数2(変数1, 引数3, ・・・);
・
・
・
変数x=ライブラリ関数x(変数3, 引数4, ・・・);
return ライブラリ関数(変数2, 変数x, 引数5, ・・・);
こんな感じになるようにしてる
- 63 :仕様書無しさん:2013/03/23(土) 17:24:06.16 .net
- 同意。
アセンブラ書きの人は、インデントが綺麗だし
Cコードも簡潔で美しいよね。
繰り返しを悪のように言う人がいるけど
俺はそうは思わないね。
- 64 :仕様書無しさん:2013/03/23(土) 17:35:26.71 .net
- 処理が明らかに複数メソッドで重複してなければ、多少長くなってもよい。
可読性を語るなら、ネスト数のほうが議論が盛り上がるな。
- 65 :仕様書無しさん:2013/03/23(土) 18:14:42.26 .net
- 漏れもハスケルとかでプログラム作りたい
- 66 :仕様書無しさん:2013/03/27(水) 16:24:12.40 .net
- 渡された詳細設計書の通りに実装すると1関数700行超える
ちゃんと関数分けした詳細設計は客が読めないそうだ
- 67 :仕様書無しさん:2013/03/31(日) 10:43:41.54 .net
- 詳細設計のドキュメントなんて、パブリックなところだけでいいんじゃねえの
- 68 :仕様書無しさん:2013/04/01(月) 02:51:29.99 .net
- 設計書どおりにってのは論理的な部分であって、
内部実装を設計書に依存させてしまったら非効率的なコードばっかになるで
そもそもコーディングがプログラム設計なわけだし、考えて実装しないとだめだろう
設計書と同じ構造にする縦割りお仕事脳だとこの先どんどんつらくなってくぞ
- 69 :仕様書無しさん:2013/04/11(木) 11:18:05.70 .net
- 客が素人にも関わらず自分にも理解できる詳細設計よこせって言ってるんでしょ
そういう環境なら「詳細設計のとおり」に実装しないと面倒なことになるのは概ね見当がつく
素人相手にコーディングレビューとか
- 70 :仕様書無しさん:2013/04/21(日) 15:21:49.66 .net
- 行数で判断するのは間違ってるけど、1メソッドは20行くらいを目安としてる
それを超える場合は複雑な機能を持ってることが多いので、考え直したほうがいい場合も少なくない
ただし、ボーダーの行数を超えるのがNGだとは思ってない
単純な機能として名前が付けれるメソッドで、分岐や繰り返しが殆どないようなら、
多少長いメソッドであっても、それは妥当なものだと思う
クラスは行数で考えるものではないけど、メソッドやクラスコメント含めて1000行超えちゃうようなら少し考える
行数が多いと全体の見通しも悪くなるし、テストコードが多くなるからあまり大きなクラスは作りたくない
コミットがコンクリフトする可能性も上がるし
分けるかどうかの目安としては、プライベートメソッドの量で考える
プライベートメソッドが多数あるなら、機能を抽出した細かいクラスが作れると思う
判定と分岐を一つのクラスにいっぱいもたせると、そのクラスのテストがだるいことになるから
- 71 :仕様書無しさん:2013/04/22(月) 19:45:11.52 .net
- C#のフォームでラムダ式ばっか使ってると、コンストラクタがやたら長くなる
- 72 :仕様書無しさん:2013/08/17(土) NY:AN:NY.AN .net
- 設計書に定義された関数以外は作成禁止
関数分けもダメ
ダラダラと似たような処理が数百行から数千行
上司とPMはステップ数で満足
顧客は設計書どおりで満足
- 73 :仕様書無しさん:2013/08/21(水) NY:AN:NY.AN .net
- 保守で死ぬ系の典型だなw
- 74 :仕様書無しさん:2013/08/22(木) NY:AN:NY.AN .net
- ■http://rfi.a.la9.jp/hn203/kb/kb-main3.html
http://homepage2.nifty.com/e-d-a/hn203/ansec/animal.html
- 75 :仕様書無しさん:2013/08/23(金) NY:AN:NY.AN .net
- 最初は設計書通りに書くので、1関数50行超、1クラス10関数超とかになる。
で、プログラマテストするにあたって、
「これ、よみずらいな」ってなって、関数分けや、クラス分けが始まる。
だから、1関数がものすごく長かったり、1クラスに趣旨の違う関数が詰め込まれてたりすのは、
単純にリファクタリングがされてないだけ。
つまり、リファクタリングしてる時間がなかっただけ。
設計書の段階で関数やクラス分けが十分になされることを期待するのは馬鹿げているし、
設計書ってそういうことをするために書くものではないでしょう?
悪いのは大抵、無茶な納期を組んじゃった上流の人たちだよ。
- 76 :仕様書無しさん:2013/08/23(金) NY:AN:NY.AN .net
- 鬼のように全関数がぶち込まれた1クラスを分割終了。
これから動作テスト。
サンプルプログラムだから文句を言える立場じゃないけど、
こういう作り方はちょっと困るな…
- 77 :仕様書無しさん:2013/08/24(土) NY:AN:NY.AN .net
- クラス設計書なんて作るだけ無駄
ほしい情報はそういうものではなく、外部的な動作仕様
それ以降の実装作業に注力したい
だがしかし、未経験歓迎ドナドナ業者多数すぎて、実装能力皆無の偽物マが腐るほど居る業界
実装者依存にできない仕組みも同時に出来てて、スキルがある技術者は白け、
スキルの無い技術者は伸びる環境がない(そもそも技術を身につけようという意思がない)
- 78 :仕様書無しさん:2013/11/10(日) 06:09:39.07 .net
- 関数は基本的に2~3行
7行超える辺りから臭い
このスレを見て、初心者の時は関数内に空行とかよく入れてたの思い出したわ
なつかしい
- 79 :仕様書無しさん:2013/11/10(日) 11:08:18.35 .net
- 保守性が大切だな。つまり読みやすさ
最初はプロトタイプのやつつくる。コード書いてうごけばOK
つぎにこれを見やすくする。
インテンドを深くしないようにとか、深いと見難いから。
for文の中を外に出すとかやる。
見直しは、コードを読むに集中力がいるというのを減らしておく。
行数が多いと終わりまでを追うに疲れる。
for文中が百行続くというのはいけない
しかし納期が迫ってくると、やっつけ
- 80 :仕様書無しさん:2013/11/10(日) 11:16:53.69 .net
- 階層が浅いと保守性がいいわけ、読むに疲れないというやつ。
関数->関数->関数->関数で4こ下の変数を直すんじゃなくて
関数->関数の2こ下の変数を直すほうが追うに楽
関数が細切れになっていると読むに疲れる。
- 81 :仕様書無しさん:2013/11/11(月) 02:18:06.70 .net
- メソッドを関数と呼び奴は無能
- 82 :仕様書無しさん:2013/11/12(火) 00:50:46.31 .net
- 呼び奴
↑無能の証拠w
- 83 :仕様書無しさん:2013/11/14(木) 12:37:06.06 .net
- フォントサイズにもよるけど、ディスプレイyサイズの半分以下
エディタ最大化すればスクロール無しでスッキリ 読みやすい
- 84 :仕様書無しさん:2013/11/14(木) 21:17:44.53 .net
- 抜き出す必要が無いとわけないから数百行とかザラ
- 85 :仕様書無しさん:2013/11/15(金) 04:56:26.37 .net
- オブジェクト指向言語では1〜3行のメンバ関数を大量に作る
ExtractMethodは1番基本的なリファクタリング
2桁行になるのはgotoやswitchを使うのを躊躇わない初級者
- 86 :仕様書無しさん:2013/11/17(日) 12:13:07.94 .net
- そしてそれを突き詰めると関数型言語になる
- 87 :仕様書無しさん:2014/04/05(土) 23:21:31.56 .net
- オブジェクトの仕様に紐付かない関数的なメソッドはとりあえずstaticな実装にしておく
再利用したい場所が他にもできたら、ユーティリティメソッドとして別クラスに定義し直す
- 88 :仕様書無しさん:2016/05/31(火) 01:15:42.65 .net
- age
- 89 :仕様書無しさん:2017/06/11(日) 16:07:37.60 .net
- 1行
- 90 :仕様書無しさん:2017/06/11(日) 16:54:38.47 .net
- >>クラス1個newするだけで1行だぜ
昨今、newしたら負けらしいよ。
- 91 :仕様書無しさん:2017/12/29(金) 21:37:08.21 .net
- 誰でも簡単にパソコン1台で稼げる方法など
参考までに、
⇒ 『宮本のゴウリエセレレ』 というブログで見ることができるらしいです。
グーグル検索⇒『宮本のゴウリエセレレ』
VM3VNZ7TTI
- 92 :仕様書無しさん:2018/05/22(火) 13:34:17.35 .net
- とても簡単な自宅で稼げる方法
参考までに書いておきます
グーグルで検索するといいかも『ネットで稼ぐ方法 モニアレフヌノ』
FHYEI
総レス数 92
20 KB
掲示板に戻る
全部
前100
次100
最新50
read.cgi ver 2014.07.20.01.SC 2014/07/20 D ★