関数の長さ 上級者10行後、中級者100行前後

1 :仕様書無しさん:2014/10/12(日) 04:11:10.31 .net
初心者、数百行〜数千行

(コメント行、空行、括弧だけの行除く)

これ、だいたいあってる

2 :仕様書無しさん:2014/10/12(日) 05:58:02.93 .net

マジか?初心者が数百行も書けるのか

133 :仕様書無しさん:2015/04/23(木) 00:43:58.09 .net

どんどん分割して短くしていくっていうのはプログラミングの理想ではあるけど、クラスやメソッドの名前付けが下手な人がやるとすごい残念なことになる
まあ俺のことだけど\(^o^)/

というかエクササイズ何度かトライしてみたけど毎回パッケージ名どうすりゃいいんだろってとこで詰まる
閉鎖性共通の原則とか意識するとどんどんネストが深くなったりするし

23 :仕様書無しさん:2014/10/13(月) 15:03:07.54 .net

正しい形になっているか、というチェックでやろうとすると深くなるんだよな
全体から正しくない形を除いて行って、残ったのは正しい形というチェック方法にするだけで、浅く。しかも漏れなく作れるのに。

178 :仕様書無しさん:2016/04/18(月) 18:09:50.59 .net

更に言うと実務ではルール通りいかないことも多々あるが、練習くらいはルールを意識して書けと書いてた

165 :仕様書無しさん:2016/02/14(日) 22:06:31.53 .net

>>163
は?画面遷移じゃなくて、アプリケーションの状態の管理をコントローラーがやってんの?

60 :仕様書無しさん:2014/10/18(土) 10:29:06.61 .net

ひねれないのは初心者
ひねって有害なのは中級者
ひねって有益なのは上級者

19 :仕様書無しさん:2014/10/13(月) 02:16:29.52 .net

>>18
ひどすぎワロタw

まず読む前に改行を直すな。

174 :仕様書無しさん:2016/04/09(土) 20:42:13.40 .net

アクセサ禁止で要素ひとつになるまでクラスにするって不可能じゃない?

14 :仕様書無しさん:2014/10/12(日) 17:59:06.68 .net

コードの長さっていうか複雑度のほうが重要かな。

長くても条件分岐やループがなければ全然構わない。
処理が上から下に流れただけだから。

大量の条件分岐などがはいるとだめ。

192 :仕様書無しさん:2016/05/31(火) 07:37:29.05 .net

lgbtは男女に分類されるべきでlgbtという性別はないのではないか問題

38 :仕様書無しさん:2014/10/13(月) 22:52:53.87 .net

何の分野でも何の業界でも一部の有能しか扱えないものなんて一部の有能しか使ってないやろ
世の中、何の分野でも何の業界でも無能が8割以上で構成されてんだから

202 :仕様書無しさん:2017/07/06(木) 17:14:29.43 .net

だから熱い想いは分かったから統計的なデータはよ

118 :仕様書無しさん:2014/11/19(水) 14:36:01.63 .net

2chは上級者のフリをした初級者ばかり

40 :仕様書無しさん:2014/10/13(月) 22:56:39.96 .net

お前らみんな有能そう

186 :仕様書無しさん:2016/05/30(月) 13:24:46.31 .net

>>183
enumにしたところでメンバー変数2つ以上なんだよなあ

96 :仕様書無しさん:2014/11/17(月) 04:49:08.64 .net

>>84 >>89
GJ

これ面白いね

既に会得してるものだと、読んでる最中に「あ〜これ、知らない間に俺やってるわw」ってなる
また、その概念に名前付けして整理できるからなお嬉しい

非言語依存なのもいい

原書読んでみようかしら

160 :仕様書無しさん:2015/11/21(土) 22:07:35.44 .net

>>103
これでelseの代わりになる
if (a)
foo;
if (!a)
bar;

122 :仕様書無しさん:2014/11/24(月) 19:16:46.70 .net

Rubyには一関数5行って規約があったりもする

121 :仕様書無しさん:2014/11/22(土) 13:44:45.24 .net

こういうスレがあったんやな。関数=メソッドの長さはクラス構成と密接に関わるしな。

http://kanae.2ch.net/test/read.cgi/prog/1351405185/l50

172 :仕様書無しさん:2016/04/03(日) 22:34:52.91 .net

メソッドの行数が増えることに気をとられて無駄に分割する奴もまたぺーぺーである

21 :仕様書無しさん:2014/10/13(月) 08:31:52.59 .net

>>18
だれに習ったんだろう?
この改行センスはw

でも、ifも深いわぁ・・・俺の知っているプログラムで最高の深度は23w
肯定ifしか書けない人だったわぁ・・・
否定で考えればスッキリするのに・・・。。

139 :仕様書無しさん:2015/04/26(日) 09:08:33.31 .net

処理の単位を考慮せずやみくもに関数ばかり増やすのはgoto使ってるのと変わんないもんな

79 :仕様書無しさん:2014/11/02(日) 23:58:14.70 .net

>>73 コード以外のドキュメント書かせても誰も読まないと思う。

42 :仕様書無しさん:2014/10/13(月) 22:59:13.98 .net

>>41
複雑じゃないか。

そんな機能を学習する時間のほうがかかる。

26 :仕様書無しさん:2014/10/13(月) 17:51:51.49 .net

>>25
ない。

それは速度を優先してる気になっているだけのコードだろう。
つまりベンチマーク(比較)すらしてない。

61 :仕様書無しさん:2014/10/18(土) 15:10:14.85 .net

>>58
C言語をdefineで別の言語風に仕立て上げてて笑った
それはCOBOL風なのかな?

120 :仕様書無しさん:2014/11/20(木) 09:25:35.81 .net

>>118
じゃあお手本見せて

191 :仕様書無しさん:2016/05/31(火) 02:28:31.09 .net

そのISOってどれくらい知られてるの?

135 :仕様書無しさん:2015/04/25(土) 14:24:46.35 .net

関数が長いという理由で、手続きを関数化するのは悪手
c#ならregionとかで囲む

100 :仕様書無しさん:2014/11/18(火) 00:05:18.46 .net

>>84
このエクササイズ程、やった事ない人とやった人の間で評価がわかるものはないな。
前者はいろいろdisりまくり、後者は2度と以前のやり方に戻れないと言う。

100 :仕様書無しさん:2014/11/18(火) 00:05:18.46 .net

>>84
このエクササイズ程、やった事ない人とやった人の間で評価がわかるものはないな。
前者はいろいろdisりまくり、後者は2度と以前のやり方に戻れないと言う。

149 :仕様書無しさん:2015/04/26(日) 14:43:22.23 .net

あらあら、心に闇を抱えているようですね

183 :仕様書無しさん:2016/05/30(月) 00:29:39.77 .net

>>181
isMaleって書いちゃうセンスが既に禁止事項な件・・・
その勢いだと、isFemale、isTransgenderとかも作るのか?

131 :仕様書無しさん:2015/04/05(日) 00:25:42.17 .net

行数じゃなくて、複雑度、
具体的に言えば、ifやループなんかの
数を制限した方がいいだろうな。
ツールを使わないと数えるのが面倒になるけど。

156 :仕様書無しさん:2015/05/19(火) 00:02:36.32 .net

>>155
うるせえ死ね

48 :仕様書無しさん:2014/10/13(月) 23:03:18.63 .net

体感的にまともなコンビニ店員とか1割もいない気がするが

126 :仕様書無しさん:2015/04/03(金) 06:56:01.67 .net

>>39
いやまて、だめだろそれは

171 :仕様書無しさん:2016/04/03(日) 20:33:14.93 .net

>>169
PG自体が技術者のぺーぺーだろ

32 :仕様書無しさん:2014/10/13(月) 22:40:18.83 .net

○ 無名クラス使いまくると破綻するよ、馬鹿がやると

まあ、馬鹿がやれば何使っても
破綻してますわw

114 :仕様書無しさん:2014/11/19(水) 06:57:17.97 .net

>>111
それだと、ラップしたクラスの中で結局getter使わないといけなくない?

103 :仕様書無しさん:2014/11/18(火) 06:49:27.52 .net

else禁止ってエラー処理はどうすんの?

52 :仕様書無しさん:2014/10/13(月) 23:10:42.97 .net

ネットが普及した今は簡単に色々調べられるけど
ネット普及前のプログラミング世代は大変だったろうな

11 :仕様書無しさん:2014/10/12(日) 13:15:52.44 ID:VzZdInX2x

分からんなぁ
ひと続きの処理が長いと1000行とか2000行とかになる
行を減らす目的で関数に切り分けると、
あの変数も使うから引数に追加して、これも使うから引数に追加して、ってなって
結局ここは分けない方が楽、って結論になる
だいたいメイン処理の一部を関数にしても一回しか使わないし、
処理があっちこっち飛ぶと追いかけるのがめんどくなる

99 :仕様書無しさん:2014/11/17(月) 09:15:48.90 .net

>>95
参考までに調べてみた。

Smalltalk(の特に、VisualWorks とか Squeak/Pharo などの Smalltalk-80 直系子孫)は
35年近く蓄積されたコードで動いているんだけど、メソッドの多くは実際に短く書かれていて
たとえば、手元の Pharo Smalltalk http://pharo.org/ の最新リリース
(のIDEを記述した全ソース)について集計した場合、

(CompiledMethod allInstances collect: [:method | method getSource lineCount]) average asFloat
“=> 7.12162415603901 ”

…とコメントを込みでも平均で7行程度しかなかった。

155 :仕様書無しさん:2015/05/05(火) 04:39:45.23 .net

ここの人はみんな、保守系底辺派遣PGなのかなぁw?
頑張って綺麗なコード書いて!

33 :仕様書無しさん:2014/10/13(月) 22:40:55.55 .net

>>31
お前が、使い方をしらんだけ。

188 :仕様書無しさん:2016/05/30(月) 22:51:34.30 .net

性別をboolにするとかセンス無いというか
常識知らないというか、知識ないというか。

ISO 5218に従えばいいだけだろ
自分で考えるなや

ISO 5218とは、言語に依存しない1桁のコードによるヒトの性別の表記に関する国際規格。
https://ja.wikipedia.org/wiki/ISO_5218

9 :仕様書無しさん:2014/10/12(日) 09:54:18.85 .net

 かなりOOを極めないと10行ぐらいにはならない感じ。
で、相当優秀な人でもOOをマスターしている人はそんなにいない(言語やジャンルによる?)
ちなみにJDKやAndroidのソースコードもメソッド200行とかあるよ。

49 :仕様書無しさん:2014/10/13(月) 23:04:09.64 .net

類は友を呼ぶってやつだな。

90 :仕様書無しさん:2014/11/17(月) 01:28:34.99 .net

> 1 行につきドットは1 つまでにすること

これも一時変数量産するだけで突破できちゃうな

こりゃちゃんと本に書いてある解説を読まず
このルール項目だけを見てエクササイズするととんでもないことになりそうだな

参考になったらSNSでシェアお願いします!

レスを投稿する(名前省略可)

この記事を読んだ方へのおすすめ

  • 富士通の残業だとかいろいろ教えて><

    元スレ 1 :仕様書無しさん:2008/03/09(日) 04:52:04 .net 前スレ 富士通の残業体質対策を教えて http://pc11.2ch.net/test/read.cgi/prog/119971234…

  • 50代のプログラマーいる?Part49

    元スレ 1 :仕様書無しさん:2020/06/10(水) 08:41:55 .net ああリューマチで膝が痛い!腰も痛い!肩も痛い! そんなんでも頑張ろう! 前スレ 50代のプログラマーいる?Part48 https:/…

  • 50代のプログラマーいる?Part54

    元スレ 1 :仕様書無しさん:2021/07/03(土) 22:10:39.91 .net ああリューマチで膝が痛い!腰も痛い!肩も痛い! そんなんでも頑張ろう! 前スレ 50代のプログラマーいる?Part53 http…

  • 【日本だけ】SEという職業をなくそうぜ【変な職種】

    元スレ 1 :仕様書無しさん:2007/06/21(木) 11:44:09 .net 未経験で入社したのに、 肩書きはプロのSEだっておwwwww 2 :仕様書無しさん:2007/06/21(木) 12:00:59 .n…

  • 数人しかアプリ落としてくれねぇwww

    元スレ 1 :仕様書無しさん:2014/05/29(木) 08:24:08.15 .net 少し聞いてくれ 時間割アプリ作ったんだが数人の友達しか落としてくれない…。 オレ的にはいいものができたと思うんだが評…

  • コロナでリモートワークになったプログラマ

    元スレ 1 :仕様書無しさん:2020/04/03(金) 10:18:32 .net 家からVPNで会社のLANに繋いで、仕事だが、開始30分で5chにカキコ 74 :仕様書無しさん:2020/04/21(火) 19:3…

  • 10人の派遣PG < メタプログラミング

    元スレ 1 :仕様書無しさん:2016/05/29(日) 22:09:14.13 .net コード生成を極めると人件費カットが捗るわい 6 :仕様書無しさん:2016/05/31(火) 01:44:44.12 .net …

  • スーパーSEイムジンリバーが降臨するスレ

    元スレ 1 :仕様書無しさん:2009/08/01(土) 11:21:02 .net 時給18000円のスーパーSEイムジンリバー ◆.S62ukcjWA様がてめえらド素人に教育してやる!! 419 :吉野健太郎の卑怯な…

  • IT企業ってブラックなの?

    元スレ 1 :仕様書無しさん:2016/03/01(火) 10:04:26.03 .net 趣味でプログラム製作依頼受けたりしてる高校生だけど 一部ブラックIT企業ってどのぐらいヤバイの? こんな動画まであるけど htt…

  • C#とか言うなんちゃてC言語wwww

    元スレ 1 :仕様書無しさん:2014/04/26(土) 14:38:06.13 .net ただ最初にCってついてるだけで全くの無能だよなwwww 68 :仕様書無しさん:2014/05/21(水) 11:42:40.6…

  • なぜコードを一行も書けない人間が管理するのか

    元スレ 1 :仕様書無しさん:2018/04/23(月) 11:17:01.34 .net 料理を作ったことがない人間が料理長とかありえないだろ 45 :仕様書無しさん:2018/05/03(木) 09:48:47.82…

  • teratailもりあがっtail? 93問目

    元スレ 1 :仕様書無しさん:2022/06/21(火) 11:58:47 .net teratail http://teratail.com/ 前スレ teratailもりあがっtail? 92問目 https://m…

最近のコメント

匿名 : 【いちゃ部屋】株式会社SHIFT【5ch出張所】
 新入社員はわかいそう、 在宅勤務でe-ラニングうけとけ、 ... (6/18)
匿名 : 【残業代】福井 株式会社アスタ【未払い】
 プライド高いところあるけど清輝あるなら大丈夫や (5/28)
匿名 : 【残業代】福井 株式会社アスタ【未払い】
 プライド高いところあるけど清輝あるなら大丈夫か (5/07)
ページTOPへ↑