■ このスレッドは過去ログ倉庫に格納されています
関数の長さ 上級者10行後、中級者100行前後
- 1 :仕様書無しさん:2014/10/12(日) 04:11:10.31 .net
- 初心者、数百行〜数千行
(コメント行、空行、括弧だけの行除く)
これ、だいたいあってる
- 156 :仕様書無しさん:2015/05/19(火) 00:02:36.32 .net
- >>155
うるせえ死ね
- 157 :仕様書無しさん:2015/08/26(水) 07:07:28.57 .net
- >>133
実践するうちにネーミング力=要求分析能力という事がわかってきた。
- 158 :仕様書無しさん:2015/08/26(水) 07:43:04.13 .net
- 構造化言語、オブジェクト指向言語と、コンピュータ言語の進歩って、
要するに「ネーミング技術」なんだと思っている。
アセンブラ時代の切れ目の無い長大なフローチャートを機能分割して、一機能に「名前」を付ける。
そうすれば、今度はそれを1個のCPU命令かのように扱えて、上位で扱わないといけない命令数が少なくなる。
そして、構造化言語で関数が大量に増えてくると、ある程度の関連性の有る単位でグループ化して
それを最小単位として「名前」を付けることで、それを最小の命令として上位で扱う命令数が少なくなる。
要するに、同時に扱わないといけないことを少なくするシンプルにする技術なんだな。
- 159 :仕様書無しさん:2015/10/14(水) 23:35:53.89 .net
- なんでこのスレ上がってきたんだろう
- 160 :仕様書無しさん:2015/11/21(土) 22:07:35.44 .net
- >>103
これでelseの代わりになる
if (a)
foo;
if (!a)
bar;
- 161 :仕様書無しさん:2015/12/06(日) 18:52:10.28 .net
- >>159
DDDが流行っているからな。
- 162 :仕様書無しさん:2016/02/11(木) 20:51:24.80 .net
- age
- 163 :仕様書無しさん:2016/02/12(金) 23:06:22.56 .net
- 状態遷移管理するコントローラーとか
どうしてもめっちゃ長くなる…
- 164 :仕様書無しさん:2016/02/13(土) 15:24:01.43 .net
- 状態遷移表とコントローラが一緒くたにハードコーディングしてるんじゃ無い?
小規模ならそれでも良いけど、ある程度以上にデカくなったらバラした方がいい。
それでもまだデカイ時は、大分類小分類とか多段ステートにして、小規模を維持する工夫をすれば良いよ。
- 165 :仕様書無しさん:2016/02/14(日) 22:06:31.53 .net
- >>163
は?画面遷移じゃなくて、アプリケーションの状態の管理をコントローラーがやってんの?
- 166 :仕様書無しさん:2016/02/14(日) 23:05:44.23 .net
- >>165
画面遷移です。状態ってのは画面のこと
バラして状態遷移のトリガーになるイベントと遷移元と遷移先とかMapに詰め込んで外だししてみたこともあったけど
めっちゃくちゃ見通し悪くなった…
結局Backコマンドとか、普通じゃない画面遷移とか、画面間のパラメータの受け渡しとかややこしくなるから
結局べた書きがいいという結論に達してべた書きしてる
みんなどうやって管理してんの…
- 167 :仕様書無しさん:2016/03/02(水) 08:28:16.26 .net
- >>166
webアプリなら、そもそも複雑な状態遷移を管理しないようにしてるよ。
- 168 :仕様書無しさん:2016/04/03(日) 12:02:44.58 .net
- 4月から3年目のペーペーだけど、「単一責務(Single Responsibility)」守ってれば30行以内に収まるだろ?
10行:非常に良い
20行:良い
30行:普通
40行:ちょっと長いけど、まぁ許容範囲
50〜60行:やむを得ない事情があるなら仕方ないけど、極力分割を考えるべき
70〜90行:よほど退っ引きならない事情(数十個のswitch-caseが必要など)があるなら仕方ないけど、それ以外の理由では不可。
そもそも、大量のswitch-caseが必要になるときは、
アルゴリズムよりもデータ構造に問題がある場合が多い。
クラス設計をもう一度見直すべき。
100行以上:如何なる理由があろうと不可。
絶対に1メソッド内で複数の処理をしているはず(単一責務を守ってない)。
こんなん書いて許されるのは1年目だけ。
- 169 :仕様書無しさん:2016/04/03(日) 13:55:10.43 .net
- Javaや.NETのクラスライブラリって1年目のぺーぺーが書いてるんだろうな
100行以上のメソッドあるし
- 170 :仕様書無しさん:2016/04/03(日) 19:56:19.58 .net
- Haskellのソースコードは1メソッドあたり物凄く短いと思った
少ししか見てないけど
- 171 :仕様書無しさん:2016/04/03(日) 20:33:14.93 .net
- >>169
PG自体が技術者のぺーぺーだろ
- 172 :仕様書無しさん:2016/04/03(日) 22:34:52.91 .net
- メソッドの行数が増えることに気をとられて無駄に分割する奴もまたぺーぺーである
- 173 :仕様書無しさん:2016/04/03(日) 23:01:04.44 .net
- 意識高い系 vs ペーペー
- 174 :仕様書無しさん:2016/04/09(土) 20:42:13.40 .net
- アクセサ禁止で要素ひとつになるまでクラスにするって不可能じゃない?
- 175 :仕様書無しさん:2016/04/10(日) 18:19:07.54 .net
- >>174
根本的に馬鹿
- 176 :仕様書無しさん:2016/04/18(月) 02:39:19.17 .net
- >>169
> Javaや.NETのクラスライブラリって1年目のぺーぺーが書いてるんだろうな
> 100行以上のメソッドあるし
例えばどれ?
http://hg.openjdk.java.net/jdk9/jdk9/jdk/file/96c21f6ea9f2/src
- 177 :仕様書無しさん:2016/04/18(月) 18:07:55.51 .net
- >>84
今日読んだ
オブジェクト指向をきちんとつかいたいあなたへ
って本に同じ話が出てた。有名なんやな
- 178 :仕様書無しさん:2016/04/18(月) 18:09:50.59 .net
- 更に言うと実務ではルール通りいかないことも多々あるが、練習くらいはルールを意識して書けと書いてた
- 179 :仕様書無しさん:2016/04/18(月) 23:38:56.02 .net
- 練習してない事を実践でいきなりやるのは無理だから練習中からルール通りいかない事を意識しとくべきだな
- 180 :仕様書無しさん:2016/05/28(土) 18:41:47.83 .net
- 有志がオブジェクト指向エクササイズ講習会やってたりするんで首都圏の人で興味があれば行ってみれば?
- 181 :仕様書無しさん:2016/05/29(日) 08:47:34.06 .net
- ってか、メンバー変数2つまでって無理じゃね?
Personクラスに
string _name;
int _age;
bool _isMale;
ってすることすら許されないんだろ?
- 182 :仕様書無しさん:2016/05/29(日) 11:39:06.05 .net
- 所詮は理想論なんだよね
意識高い系はチームでは和を乱す問題児でしかない
ワンマンのプロジェクトなら好きにしていいけどね
ポリモーフィズムよりスイッチ
オブジェクトより手続き
プライベートよりパブリック
それが社会の出した答えだよ
郷に入りては郷に従えってことさ
給与や昇進にも影響するから気を付けないとね
- 183 :仕様書無しさん:2016/05/30(月) 00:29:39.77 .net
- >>181
isMaleって書いちゃうセンスが既に禁止事項な件・・・
その勢いだと、isFemale、isTransgenderとかも作るのか?
- 184 :仕様書無しさん:2016/05/30(月) 10:37:09.26 .net
- え・・・
trueなら男
falseなら女でしょ
stringで持つわけ?
- 185 :仕様書無しさん:2016/05/30(月) 12:28:16.20 .net
- enumでもてよ
- 186 :仕様書無しさん:2016/05/30(月) 13:24:46.31 .net
- >>183
enumにしたところでメンバー変数2つ以上なんだよなあ
- 187 :仕様書無しさん:2016/05/30(月) 16:05:32.94 .net
- >>184
昨今、trueでもfalseでもないのがいるだろ…
- 188 :仕様書無しさん:2016/05/30(月) 22:51:34.30 .net
- 性別をboolにするとかセンス無いというか
常識知らないというか、知識ないというか。
ISO 5218に従えばいいだけだろ
自分で考えるなや
ISO 5218とは、言語に依存しない1桁のコードによるヒトの性別の表記に関する国際規格。
https://ja.wikipedia.org/wiki/ISO_5218
- 189 :仕様書無しさん:2016/05/30(月) 22:54:47.90 .net
- >>188
性別ごときなんでもいいよw
- 190 :仕様書無しさん:2016/05/31(火) 00:56:19.07 .net
- エンティティ系クラスでインスタンス変数を3以下にするのは難しいと思う。
後、性別はGenderクラスを作るかな。Male, Femal, Lesbian, Gay, Bisexual, Transgender
- 191 :仕様書無しさん:2016/05/31(火) 02:28:31.09 .net
- そのISOってどれくらい知られてるの?
- 192 :仕様書無しさん:2016/05/31(火) 07:37:29.05 .net
- lgbtは男女に分類されるべきでlgbtという性別はないのではないか問題
- 193 :仕様書無しさん:2016/08/22(月) 22:55:52.17 .net
- いいかげん、引数をすべてstringにして、会話のようにできないのかい?
もう引数、戻り値、いちいち書くのめんどくせぇ
- 194 :仕様書無しさん:2016/08/23(火) 01:49:03.97 .net
- やればいいじゃん
- 195 :仕様書無しさん:2016/08/23(火) 06:56:03.79 .net
- その結果、COBOLの完成です。
- 196 :仕様書無しさん:2017/06/10(土) 01:17:26.23 .net
- 殺しなさい
- 197 :仕様書無しさん:2017/07/05(水) 23:01:32.29 .net
- Haskell使えば関数なんて数行
- 198 :仕様書無しさん:2017/07/06(木) 06:08:56.81 .net
- じゃあ、Haskellで標準添付のライブラリーに含まれる
全関数のソースの行数の平均を示してくれ
「数行」っていうくらいだから10を超えることはないはずだよね?
もちろん、それを求める関数も数行で書けるよね?
- 199 :仕様書無しさん:2017/07/06(木) 12:31:21.34 .net
- 何使っても普通に書けば平均10行以下になりますが
- 200 :仕様書無しさん:2017/07/06(木) 12:38:59.10 .net
- じゃあ言語は何でもいいし
標準添付のライブラリーがいやならgithubとかのでもいいから
そこそこまとまったコード中の関数の平均行数出してみせてよ
- 201 :仕様書無しさん:2017/07/06(木) 12:47:15.68 .net
- >>200
てかマジに出来ないと思ってるの?
2ちゃんに入り浸りすぎて変なクセついてんじゃねお前?
- 202 :仕様書無しさん:2017/07/06(木) 17:14:29.43 .net
- だから熱い想いは分かったから統計的なデータはよ
- 203 :仕様書無しさん:2017/07/06(木) 17:15:09.07 .net
- 論より証拠
- 204 :仕様書無しさん:2017/07/06(木) 20:44:03.85 .net
- >>202
お前「自分は低スキルです」っていう意地のはりかたしてるけど分かってる自分で?
- 205 :仕様書無しさん:2017/07/06(木) 21:31:07.77 .net
- 集計結果マダー?
つーか行動力も読解力もゼロのお前は邪魔だからどっか行ってくれ
Haskellerの回答を待つ
- 206 :仕様書無しさん:2017/07/06(木) 21:39:48.35 .net
- >>205
意地はってやる事が待つだけってもしかしてお前真面目系クズってやつだろ?
- 207 :仕様書無しさん:2017/07/06(木) 22:13:30.32 .net
- Smalltalkで調べた
前の方にPharoのがあるけど改めてSqueakで
| A B |
A := Class allSubInstances size. "総クラス数 => 2114 "
B := CompiledMethod allInstances collect: [:m | m getSource lineCount].
B size. "総メソッド数=> 46826 "
B / A asFloat. "クラスあたりの平均メソッド数=> 22.14947965941343 "
B average asFloat. "メソッドあたりの平均行数=> 8.04666211079315 "
ぎり10行は切ってる(ただしコメントも含む)
- 208 :仕様書無しさん:2017/07/07(金) 09:35:57.07 .net
- そもそも関数書けない奴いる
関数化一切せずにただただ書きなぐってコピペ
どう学習したらこんなんになんだよ・・・
一つのSQL条件修正で200ヶ所超え
- 209 :仕様書無しさん:2017/07/07(金) 19:13:49.24 .net
- オブジェクトの中で何やっても構わんよ
- 210 :仕様書無しさん:2017/07/08(土) 10:05:06.49 .net
- >>208
いるいるw
既存のコードは触らない!って変な哲学もっている人いるね
触らない代わりに、コピペ後に改造する
いつもそれだから、コピペがそこら中に散乱・・・
- 211 :仕様書無しさん:2017/12/29(金) 20:01:04.33 .net
- 誰でも簡単にパソコン1台で稼げる方法など
参考までに、
⇒ 『宮本のゴウリエセレレ』 というブログで見ることができるらしいです。
グーグル検索⇒『宮本のゴウリエセレレ』
YMGMFERUXQ
- 212 :仕様書無しさん:2018/05/22(火) 14:55:23.24 .net
- とても簡単な自宅で稼げる方法
参考までに書いておきます
グーグルで検索するといいかも『ネットで稼ぐ方法 モニアレフヌノ』
PTGAG
- 213 :仕様書無しさん:2020/03/28(土) 00:26:47.06 .net
- ちがう
総レス数 213
43 KB
掲示板に戻る
全部
前100
次100
最新50
read.cgi ver.24052200