プログラマの雑談部屋 ★38
■ このスレッドは過去ログ倉庫に格納されています
プログラマは
こちらで雑談してください。
ユーザ、SEが馬鹿過ぎる、
上司がバカだからもう辞めたい、
もう少し簡単な仕事に転職したい、
彼女が欲しい、
などなど愚痴、妬み、妄想などなんでもどうぞ。
※前スレ
プログラマの雑談部屋 ★36
https://medaka.5ch.net/test/read.cgi/prog/1529287662/
プログラマの雑談部屋 ★37
http://medaka.5ch.net/test/read.cgi/prog/1530182616/ >>107
elseどうこうの前にドカタの皆さんにはViewとModelの分離を覚えて欲しいね
DataList data = searchDataService.SearchDataList(/* 検索条件 */);
gamen.Syokuhi = data.TotalSyokuhi;
gamen.Konetsuhi = data.TotalKonetsuhi;
gamen.Pachinkohi = data.TotalPachinkohi;
gamen.PachinkoCss = gamen.Pachinkohi < 0 ? "gold" : "black"; YouTubeを超える動画共有サイトを自分一人で作りたい。 >>118
世の中にはバインディングというものがあってだな レンタルサーバーとかISPの事業に少し興味がある。 >>118
でもSearchDataListの中はエルス王国なんでしょ? ネトウヨ「LINE俺らの個人情報を盗んでる!恐ろしい!((((;゚Д゚))))」
ネトウヨ「俺らの個人情報なんてゴミだよ!グーグルさん、遠慮なく盗んでね!」
↑個人情報に敏感になったり疎くなったりコロッコロ変わるのは何故?(´・ω・`)
ご都合主義のヴァカネトウヨ >>134
数論幾何学ってどれくらい難しいのでしょうか?
凡人には到底理解できないですか? せめて
せめてラムダ
なんで俺の職場はいつまでたっても
Java7とかなのか >>138
Java のラムダは、ラムダとは名ばかりの劣化物であり、シンタックスシュガーに過ぎない。
ホンモノのラムダとは、それで Y コンビネータを記述できるものだ 1
for(int i=0;i<items.length();i++)
{
result += items[i].Val;
}
2
foreach(var item in items)
{
result += item.Val;
}
3
resullt = items.Sum(n=>n.Val);
3がエレガントだが1がなんか好きな人もいるだろ
ただ2が好きな奴は変人 >>135
俺は>>134じゃないけど、難しいですよ。
数学の勉強は始めましたか?
いま数Tか数Uあたりですか? プログラマーは脳疲労が半端ないな
最近は休日身体が動かんし、平日もエフェドリン系の風邪薬飲まないと朝布団から出られない
10時間ぶっ続けで集中して難解なコード書き続けてると知恵熱出てくる
頭はいくら使ってもいいというが、やはりモノには限度があるんだな >>140
1,2はいいが、やっぱり3って嫌いだわ
ラムダって他と考え方が違うから、コードの中で浮いて見える 10時間もコード書き続けるとか、頭悪過ぎ。
そんな無能な奴が隣にいたらブースから叩き出してる。 コードは考えながらかくもんじゃない
必要な定数、依存、クラス、リソース
場当たり的でない一貫した名前
ぜんぶ整理してから一気に書き下すもの
いきなり着手したら変数名のコピペ元を探すだけで一苦労 ワシが設計とプロトタイプ作る人やから
長時間やるのは仕方あらへん
他に出来る奴おらんし上級エンジニアの名前ももろたし 10時間も経てば退社時刻だからな。
そりゃあ放り出されるわな、お疲れ様です、って。 >>148
浪速金融道かなんかに出てきた肩書もらっただけで嬉々としてこき使われる土方みたいな ラムダ式の利点がさっぱりわからんなぁ
あくまで利用する側がラムダ式で書く対象のインターフェースの型を
わざわざ参照しなくても最初からわかってる前提で書く場合に”少し”だけ長ったらしい記述を
省略できるだけであって長期的に見てほとんどの奴にとって何の利点ももたらさないように見える ばかな
まさに>>8の答えだ
where使ったら分岐がへるんだぞ
土方からは見えない
後方フェーズの分岐のコスト やあやあ
gamen.Syokuhi = dataRows
.Where(e => e["データ区分"] == 0)
.Select(e => e.["データ値"])
.Sum();
gamen.Kounetsuhi = dataRows
.Where(e => e["データ区分"] == 1)
.Select(e => e.["データ値"])
.Sum();
gamen.pachinkoKubun = dataRows
.Where(e => e["データ区分"] == 2)
.Select(e => e.["パチンコ区分"] == "W" ? -e["データ値"] : e["データ値"])
.Sum();
gamen.PachinkoCss = gamen.Pachinkohi < 0 ? "gold" : "black"; はっきし言って>>156も>>8も目糞鼻糞
これは規約でラムダ式禁止の現場が定着するのが目に浮かぶ なんでだよ
そもそも入力が汚いんだからしょうがないじゃん
それでも分岐減ったし状態変数も減ったし処理が分割されて扱いやすくなっただろ! >>160
実際そういうのでもいいと思う
そもそもこの記述に全くメリットないわけで アブラハムとシェルバーン家当主はどっちの方が凄いですか? >>160
俺もそうだが、チームの大多数がわからないなら禁止すべきだな ラムダがないと構造体の一部のメンバの値の合計をもとめるだけの処理ですら
自前で実装しないといけなかった
Sumって共通メソッドが使えるだけで随分嬉しいじゃないか? チームメンバがわからなかったら禁止
それは大正義であり
もう致しかたのないことだ
でもわかってよ!たいして難しくないだろ! メトリクスツールでも使って複雑度>>8とくらべてみやがれ >>166
関数作ればいいじゃん
ラムダで書いた処理は再利用できるの? 文句言うなら一人で全部作ればいい。
やれるもんならやってみろ
・・・って言ったら、自称俺は出来るヤツ様、
泣きそうになってたぞ。 >>144
体力落ちてるだけだろ
一流のプログラマはみんな身体も鍛えてる >>145
3が当たり前の世界だと1, 2が浮いて見えるぞ
つうか浮いてる浮いてないはどうでもいいんだよね
なんども似たようなループを書いて生産性を落とすほうが問題
DRYの精神に則り3を使おう 1メソッドや1クラスの行数は少ない方が良いってのは分かるんだけど、
実際仕事でやってると名付けやら何やらで面倒臭くなってやらないよね?
他メソッドに飛びまくると処理追うの大変になるし >>156
いいコードですね
やはりif elseはゴミだったと思わせてくれる綺麗なコードです
このコードの素晴らしいポイントは
if elseによって結合されてしまった本来無関係なstatementが分割されて独立したexpressionに置き換わったことでしょう
expressionに置き換えればこのようにメソッドに抽出することが簡単にできます
int TotalSyokuhi => dataRows
.Where(d => 0.Equals(d["データ区分"]))
.Sum(d => (int) d["データ値"]);
expressionにフレンドリーな名前が付いてコードがより美しく明快になりましたね
if elseを使った惨めなコードではここまでたどり着くのは難しかったでしょう
そしてこのように美しく整列したコードではパターンが視覚的にはっきりと見えるようになります
いとも簡単に処理の共通性を抽出してメソッドにできるのです
int CalculateTotal(int dataKubum) => dataRows
.Where(d => dataKubun.Equals(d["データ区分"]))
.Sum(d => (int) d["データ値"]);
int TotalSyokuhi => CalculateTotal(0);
int TotalKonetsuhi => CalculateTotal(1);
素晴らしい
if elseのないコードは最高だ >>165
ラムダぐらいは知ってて当然だろ
仮に知らなくても1時間くらいで教育すればいい
社会人は幼稚園児じゃないぞ
俺さまがわからんから俺さまに合わせて周りの人間が俺さまに配慮して使用禁止にしろ
こんな理屈が通るのが当たり前だと思ってる奴は本気でバカなんじゃないのか? まあここに出てるぐらいのラムダなら全然かわいいもんだけど
出来るプログラマーさんは何十ネストした凶悪なラムダコード書くから
あそこまで行くと誰でもわかるようにそこはラムダ以外の部分で
もっと分割しろよとは思う >>187
とか叫んでも別にメリットも無ければ
出した見積り以上に金が儲かるわけでもなし
意味ねーこと拘っててバカみたい ラムダが糞なところは三項演算子と同じで
本来なら一目で10見渡せる処理の”実態”を隠蔽して他に移譲してるだけ
ラムダ厨はおまじないのように使ってるだけの無能しかいないからわからんだろうけど
ラムダのソース見ても開発者のオナニーだと言うのがわかる わからん奴だらけである以上は迂闊に使っちゃダメだよ、
あくまでも人売りビジネスなんだからさ。 ラムダで作っていくのでこれだけの工数が削減できます
まで言えないなら
ちょっといい程度で抑えておきなよ >>191
足し算ができない社員が足し算できるようになることにメリットを見いだせないなら死ね >>196
それやって少数精鋭部隊なんて作っても
開発人数確保できなかったらプロジェクトポシャるってわかっていってるのか?
バーカ >>199
お前のとこは足し算できれば精鋭なのか? >>198
ならない
人数確保するために未経験のコンビニ戦士(コンビニバイトしかやったことないおっさん)を経験3年として補充してる始末 >>201
ここにも足し算もできないやつがいるからな >>199
そんなプロジェクトに関わるくらいなら辞めちまえ >>205
嫌いなプロジェクトに当たるたびに辞めてるのか? >>182
名前をつけない場合でもその処理は書くんだから
名前が無いとどこで何してるかわからなくなって処理を追うのが余計に大変になる
飛びまくると考えるんじゃなくパッケージングされてればその先を見なくて済むと考えよう >>188
それはできるプログラマじゃない
ラムダとか関係なくif elseやループでもおそらくネストしまくりだろそいつ >>210
メソッド分割せずに#regionに処理の概要書くんだよ
そうすりゃあっという間に数千行のメソッドのできあがりさ >>189
工数やバグが減って保守性が上がる
メリットだらけじゃねえか
今までバカやってたのと同じ見積もりで受ければ差額は丸儲けだぞ 出来るってのは、出来ないやつの尻拭いが出来ることを指すんだから、
ラムダだのセニカだの言ってねーで、仕事しろよ仕事。 >>193
実態を隠蔽するのがプログラマの仕事だよ
見なくていいものを見ないで済むようにコード整備していくんだ
もし仮に隠蔽しなかったら全部メインルーチンにベタ書きになっちまうじゃないか
それは異常者やることだろ?
正常なプログラマは隠蔽を使いこなす ■ このスレッドは過去ログ倉庫に格納されています