プログラマの雑談部屋 ★210

■ このスレッドは過去ログ倉庫に格納されています
2022/06/25(土) 13:24:58.31
皆仲良くしましょう

プログラマの雑談部屋 ★204
https://medaka.5ch.net/test/read.cgi/prog/1653003887/
プログラマの雑談部屋 ★205
https://medaka.5ch.net/test/read.cgi/prog/1653402902/
プログラマの雑談部屋 ★206
https://medaka.5ch.net/test/read.cgi/prog/1653916960/
プログラマの雑談部屋 ★207
https://medaka.5ch.net/test/read.cgi/prog/1654397561/
プログラマの雑談部屋 ★208
https://medaka.5ch.net/test/read.cgi/prog/1654849649/
プログラマの雑談部屋 ★209
https://medaka.5ch.net/test/read.cgi/prog/1655440371/
2022/07/01(金) 08:49:36.44
関数の行が多くても破綻しないのは通しで処理されることに意味がある点と
ネストが浅いからだろうから、読みにくいって事はないだろうな
2022/07/01(金) 08:50:22.13
個人的には長いから関数に切り出すわけじゃないかなあ
共通処理にしたい場合は切り出す感じ
まあ可読性あげるために関数だけ並べるみたいなのは普通にあるけどさ
結局のところは動けばいいんだから周りと合わせながら柔軟的にやるしかないでしょ
2022/07/01(金) 08:50:47.70
ビジネスが大事で各社によって違ってジュニアレベルに書かせたいものとか上でも書いたようにテストとかでそれ以上のレベルで再利用しないものは上から下まで書いたほうがわかりやすい時もあるし、どういう状況だとどういう理由でどのような方式がいいのかって話であって

そこからの>>675
2022/07/01(金) 08:51:59.69
誰もが読めるコードは>>709の最初の3行に書かれている
2022/07/01(金) 08:52:18.61
間違ったそこからの>>657
2022/07/01(金) 08:52:23.07
テストコードは共通化しちゃダメ
共通部分を修正されたらテストの意味がなくなっちゃう
2022/07/01(金) 08:53:15.61
>>725
恐ろしい分岐の数、変数の共有
行を上から下まで読まなければ処理の理解が困難
修正した際の影響範囲
上げればいくらでもある
大きな問題は小さく分けて考える
シンプルな処理で分岐もなく一つの処理しかしてないものを関数に分けろという話ではないよ?
そもそも関数に分ければ全て解決するという話でもないし
当然、まともなクラス設計ありきよ
2022/07/01(金) 08:53:26.88
竜王「関数の半分をおまえにくれてやろう」
2022/07/01(金) 08:54:10.25
>>707
ちょっと探せば数百行の関数ごろごろあるよ
https://github.com/torvalds/linux/blob/dbe69e43372212527abf48609aba7fc39a6daa27/drivers/net/wireless/realtek/rtlwifi/btcoexist/halbtc8821a2ant.c#L1694
2022/07/01(金) 08:54:27.63
今日はスレ元気だな
2022/07/01(金) 08:54:50.74
>>732
変数宣言を頭に書かないといけないコードではそうだろうけど
途中宣言できるコードでは要らぬ心配だな
2022/07/01(金) 08:55:02.49
>>731
うん
だから上から下まで方式で書くよね
ただし共通部分はまとめてテスト本体では意識しないでいいように書く
738仕様書無しさん
垢版 |
2022/07/01(金) 08:55:15.69
>>731
え、普通にテストコードもリファクタリングして
ある程度は共通化するもんだろ
2022/07/01(金) 08:56:43.07
どこまでいってもプログラミングなんてちょっとしかわからないんだから謙虚にいこうぜ・・・
2022/07/01(金) 08:57:04.45
>>732
上から下まで読まないとって関数に分かれてても同じやん
むしろ関数追っかけないといけない分面倒
2022/07/01(金) 08:57:15.38
>>734
ざっと見たかぎり一番長いので200行程度で大概は数十行の1画面だが
ファイルと関数を間違えてるってことはないよね?
2022/07/01(金) 08:58:19.72
ワイの環境だとメモリ足りなくてファイル開けなくなるからあんまり長い関数やめてクレメンス
2022/07/01(金) 08:58:39.09
関数にわけるのが得意なのは出世して現場を去ったプログラマだけだよ
744仕様書無しさん
垢版 |
2022/07/01(金) 08:58:42.42
変数名を付けるのが下手過ぎて
いつの間にかシステムハンガリアンみたいなやり方してて萎える

PythonとかでついXXXdata_aryとかYYYdata_dictとか付けちゃうけど
良い変数名の記法ルールで勉強になるのない?
本読んでも抽象的すぎて分からん
2022/07/01(金) 08:59:28.75
>>741
100行超え許せないのか妥協できんのか分からん人だね
2022/07/01(金) 08:59:37.56
自分が読むだけなら自分がわかりやすけりゃいいだろ
2022/07/01(金) 09:00:41.19
英語の語彙の部分も大きいので英語の新聞だの小説だのとかもちろんCSのGoFの本あたりとか読んだ量悩んだ量で決まる部分もある
2022/07/01(金) 09:02:09.77
関数いっぱいあるとIDEが悲鳴あげちゃう
特にソースをインライン展開してるとわけがわからなくなっちゃう

一本関数のほうがIDEの負担は低い
vimでも読めるし秀丸でも読める
メモ帳は実用するにはちょっと厳しいけどそれでも1万行ぐらいなら余裕で開ける

逆に関数いっぱいって特定のIDEがなきゃ読めないでしょ?
2022/07/01(金) 09:02:19.18
>>741
btc8821a2ant_tdma_duration_adjustは200行余裕で超えてるよ
2022/07/01(金) 09:03:46.74
>>740
処理の全容がぱっと見でわかるかどうかが大事なんやぞ
抽象度を揃えておくことが大事
本でも目次や章に分かれてるから読みやすく
どこに何が書かれていていそうか分かるやろ
プログラムも同じやで、そもそもが人間に理解できるように発明されたプログラミング言語なんだ
整理して人間がわかりやすくすることは重要なことなのよ
2022/07/01(金) 09:03:57.00
>>745
大体数十行でたまに二百くらいのものを普通の人は数百行上から下へかけむやみに関数に分けるなとは言わないよ

なんなら理系的に行数の中央値と平均値出してそれがどれくらいか見てみればいい
2022/07/01(金) 09:04:14.77
CDはコード、KBNは区分
こういう業界知識を暗記した者が有能なんだ

変数名の再開発をするやつはいずれ世の中を良くしてくれるかもしれない
しかし、当面の間は社内を混乱させるだけなんだ
2022/07/01(金) 09:05:27.83
無能プログラマをまとめあげるには1本関数でいいとか主張してるけど
自称有能なら関数あたりの行数は20行までしか許さないけどいいの?
2022/07/01(金) 09:06:15.74
>>749
一つ二つとかの話はしてないしそもそも200行余裕で超えてるって数百行にギリギリかかるかどうかだろう…

どれが一個二個あるから数百行上から下まで書くべきと本気でいうつもりなの?

中央値と平均値出してみ
2022/07/01(金) 09:06:35.16
>>750
それは関数に分かれてるかどうかでは変わらないよ
関数名、関数コメント、処理中コメント
2022/07/01(金) 09:06:54.61
>>753
お前は何を言ってるんだw
2022/07/01(金) 09:07:10.12
おはようございます
仕事行ってきます
2022/07/01(金) 09:07:45.20
>>754
朝から面倒臭い子やぁ
2022/07/01(金) 09:08:25.80
>>758
日本語が通じないんだから数字で出してもらうしかないわな
2022/07/01(金) 09:08:46.61
Martin Fowler 氏の主張
「 6 行を超えたらもう関数に分ける 」
2022/07/01(金) 09:09:07.16
>>759
おたくの場合は会話が成り立たない
2022/07/01(金) 09:10:36.86
好ましい関数/メソッドの行数
投票結果


10行以下 64 票 / 9%
20行以下 94 票 / 14%
30行以下 113 票 / 16%
40行以下 60 票 / 9%
50行以下 90 票 / 13%
60行以下 21 票 / 3%
70行以下 34 票 / 5%
いくら長くてもOK 189 票 / 28%
2022/07/01(金) 09:11:14.30
>>748
IDEがあるのにvimで読めなきゃならないという要件にぶちあたったことないわ
IDEが無いような環境を考慮しなきゃならないとか、制約があるならそれに即した書き方すればええんちゃうってだけやな
そんなもん一般には当てはまらん
そもそもクラス単位でちゃんと設計するから一ファイルのコード量は少ない
パッケージ分割も当然する
けど一覧性的にIDEは必須になる
>>755
当然、いいコードを書くという話なんやから
ちゃんとしたクラス設計、わかりやすい関数名、正しい依存関係での設計までひっくるめての話やろ
2022/07/01(金) 09:11:22.24
>>750
処理を見てブロックを把握し適切に読み飛ばせるのも熟練度の差が出る
結局のところ英語読めましぇん、俺でも理解できるように書いてくだしゃい
と同じ
2022/07/01(金) 09:11:54.89
>いくら長くてもOK 189 票 / 28%

圧倒的じゃないか
これが日本国民が適切だと思う関数の長さだ
2022/07/01(金) 09:12:18.65
頭から全部をリバースエンジニアリングするなんてことあんまりないし
大抵は目的の場所探してそこを起点に見るんだから関数で分かれてる方が明らかに良いわ
2022/07/01(金) 09:12:28.88
わかったわかった
改行しなきゃいいんだろ?はいはいわーかーりーまーしーたー
2022/07/01(金) 09:12:51.99
・いいコードとは何か
・バカばかりのプログラマで無難に運営する方法

これが混ざってるな
2022/07/01(金) 09:13:35.34
関数を適切に分ける、の中に
細切れにするって要素はない
2022/07/01(金) 09:13:51.08
有能は忙しいからコーディングはバカでも出来るようなルールにしておいたほうがいい
2022/07/01(金) 09:15:37.94
>>769
それな
長さだけで語るからおかしなことになる
2022/07/01(金) 09:15:56.56
未だに、構造化プログラミングにもオブジェクト指向にも言及するレスが一切無いことに震える……
キレイなコード云々は若いうちにかかる麻疹みたいなもんだからいいけどさ……
2022/07/01(金) 09:16:01.89
>>762
10行以下から50行以下までを合計すると50%を超える
2022/07/01(金) 09:16:16.02
>>761
うんそうだね
理系らしく数字でよろしく
2022/07/01(金) 09:17:09.67
状況次第だよだから
アスペはこれだから
776仕様書無しさん
垢版 |
2022/07/01(金) 09:21:58.18
システムエラー時にどこのモジュールのエラーかが直ぐに特定出来る
且つモジュール内部でも適切な関数の切り分けがなされてて
一部のエラー部分aの改修が他の関数群のaの参照によって反映されモジュール全体のエラー修正へと変容する

これが良いコードだな
先ず、エラー修正の為にコード全文読もうってのが頭おかしい
2022/07/01(金) 09:22:33.18
動けばいいよで済まされてるとこで働いてる奴は楽そうで羨ましい
2022/07/01(金) 09:23:39.31
非ネイティブのようにモジュール単位では分からない言語もあるしねぇ
行番号でド直球のとか
779仕様書無しさん
垢版 |
2022/07/01(金) 09:24:43.84
綺麗なコードもそうだけど
ちゃんとユニットテスト書いていこう?
参考書でも影が薄いし悲しすぎるわ
テスト駆動開発を広めたいのに前段のテストコードを書くって事すら広まらない
2022/07/01(金) 09:25:53.71
自分のプロジェクトで誰も納得してくれないの??
2022/07/01(金) 09:26:03.28
>>779
わっかるーー

まぁ工数的にも無理ってパターン多い
2022/07/01(金) 09:28:39.74
vim9出た
2022/07/01(金) 09:30:57.46
ほんまや、まあバージョンアップが必要なほど使いこなしてないけれども
2022/07/01(金) 09:32:40.63
知るか金払え
785仕様書無しさん
垢版 |
2022/07/01(金) 09:32:53.57
vimってやたら好きな連中多いみたいだが
あれ何でそんな人気なんだ?
emacsの方が良くね?
2022/07/01(金) 09:56:11.65
ピタッとレスが止まる
2022/07/01(金) 10:07:37.00
785が新しく投げた話題がつまらないから
2022/07/01(金) 10:09:23.48
だいたい9時以降に始業だろ
2022/07/01(金) 10:15:12.74
vim・emacs論争はヤバいから

vimが圧倒的に使いやすいのにそんな論争するだけ無駄なのにね
2022/07/01(金) 10:17:28.91
他人が好きなものと自分が好きなものが違うとき、他人がそれを好きなことを認められないくて、自分が好きになるか他人が好きでなくなるまで「なんで?」「なんで?」と聞きまくるのは人としてどうかと
なんでマンは場を白けさせる
2022/07/01(金) 10:24:34.15
>>776
そういう当然過ぎることを
わざわざ言うやつ増えてるが、
どうしてだ?

Fランや専門卒の馬鹿コーダ一か?
2022/07/01(金) 10:25:57.31
なんで好きかというのは感情であり、論理の対極にあるものだ
感情を言語化することが難しい
なんでマンはそこがわかってなくて、自分は言語化できないこともわかってなくて、他人に言語化を求める
2022/07/01(金) 10:26:55.83
emacs派もvi派も寿命で死んで論争は終わった
viは大抵デフォルトで入ってるという理由で一応使われてるが熱心な信者はもはやいない
794仕様書無しさん
垢版 |
2022/07/01(金) 10:27:21.01
>>791
わざわざ全文読む奴がいるからだろ
2022/07/01(金) 10:29:50.09
全部の機能についてvimにあるない、emacsにあるないを調べるのがめんどくさい
論理的に説明するとしたら、全部の機能を調べた後で、自分が欲しい機能が、一方にあって他方にないことを示す必要がある
2022/07/01(金) 10:30:27.66
>>789
お前さあw
2022/07/01(金) 10:45:15.74
エラーの解りやすさでいうとreact(native)は酷いと思う
2022/07/01(金) 10:49:10.78
>>789
emacsは脱落したな。
昔はemacs使いだったよ。
vimももう脱落ぎみで、今はVSCode一択だと思うけどw
2022/07/01(金) 10:50:01.92
秀丸使ってるお
2022/07/01(金) 10:51:59.97
vimを知ってるとサーバで直接悪さができる
2022/07/01(金) 10:55:22.28
>>799
俺たちそろそろ引退の歳だお
2022/07/01(金) 10:56:18.64
>>791
そんな怒るなお
2022/07/01(金) 10:57:15.23
VS Code使うくらいなら、VisualStudio使えよとは思う
2022/07/01(金) 10:58:59.21
>>797
フロントは常にクソだった気がする

Reactはバックエンドに比べれば死ぬほどクソ(個人の感想です)だけど
すげー強力なフロントを作りやすくて好きなクソ
2022/07/01(金) 11:01:06.46
>>803
MacでVS使ってて設定によるんだろうけどIntelliJ+Java・JSに比べると使いにくくてもちろん慣れもあるんだけど、CodeとVSでどっちが良い?
806仕様書無しさん
垢版 |
2022/07/01(金) 11:09:28.15
初めてWeb系に入ったが楽勝すぎて暇すぎる
組み込みとか複雑なアプリ系からしたらぬるま湯過ぎてここにずっとは居たくない
2022/07/01(金) 11:11:45.49
ぬるま湯と思ってたら足掬われたりまあ色々あるのでぬるま湯のうちに勉強するもよしとっとと他に行くもよし
2022/07/01(金) 11:13:02.80
複雑なアプリが可愛い
食べちゃいたい
2022/07/01(金) 11:14:39.17
俺も組込みからWebに移ったけど、楽かどうかは会社によるんじゃないかな
前の会社はすごいパワハラでメチャクチャ精神すり減った。
2022/07/01(金) 11:19:16.12
楽かどうかと技術的にどうかは違うし、難しさ以前にそもそも例えば難しいハードの組み込みとWebの大規模な設計とでまるっきり技術自体が違うしな

お前らほどのやつには釈迦に念仏かもしれないが
811仕様書無しさん
垢版 |
2022/07/01(金) 11:22:59.67
>>790
自分が良いと思う物を通常言語ですら記述不可な奴が
よくコンピュータ言語で良いソフトウェアを記述出来るな感動したよ
本当にプログラマーか?
2022/07/01(金) 11:25:43.95
そういうとこだぞ
2022/07/01(金) 11:27:01.63
>>804
フロントはwebkitも読んでない人ばかりだからうまく動くパターンを見つけるまで試すみたいな事がまかり通る
2022/07/01(金) 11:29:35.53
>>813
結局最後はHTMLで出るのでそれこそ上から下までみたいなコードにならざるを得なくてそれをなんとかしてきた歴史

逆にグチャグチャを読み解かなきゃいけないわ技術はすぐ変わるわでトップレベルでやるのは難易度高いので稼げる人は稼げる
815仕様書無しさん
垢版 |
2022/07/01(金) 12:09:38.61
フロントできないゴミがフロントディスるよな
単に無能ってことじゃん
2022/07/01(金) 12:13:25.58
べつにできるし
やらしてできないやつなんか見たことない
2022/07/01(金) 12:14:42.92
僕たちプロなので最後はそれで時間いくら稼いでるかです
818仕様書無しさん
垢版 |
2022/07/01(金) 12:17:46.93
>>816
プログラマーのフロントできるはマジでゴミレベルだからな
2022/07/01(金) 12:20:55.98
>>818
アップルのデザイナーとかすごいよね
2022/07/01(金) 12:23:43.13
俺にいわせりゃ田舎者よ
ふん
2022/07/01(金) 12:28:34.13
本当にフロント出来るやつはすごいよね
デザインにも片足突っ込んでるわけだし
バックエンドにも片足突っ込んでるんだけど
大事なところはちゃんとフロントに突っ込んでる
822仕様書無しさん
垢版 |
2022/07/01(金) 12:36:26.95
今のフロントはモーショングラフィックみたいな動きするからな
それらをタイミング合わせて制御するし
AppleもGoogleもそれぞれコンポーネントや要素によって動きのタイムフレームを定義してる
2022/07/01(金) 12:38:46.48
写真がポップアップするようにしたらうおおおすげええと驚愕されたが
JQueryの仕込み機能で一行だということは黙っておいた
2022/07/01(金) 12:53:41.79
【画像】日本人「USB紛失で大問題だと!?対策するぞ!」→結果
https://greta.5ch.net/test/read.cgi/poverty/1656646699/
2022/07/01(金) 12:56:51.74
うちの会社もいまだにjQuery現役だw
■ このスレッドは過去ログ倉庫に格納されています
5ちゃんねるの広告が気に入らない場合は、こちらをクリックしてください。

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