プログラマの雑談部屋 ★32
■ このスレッドは過去ログ倉庫に格納されています
残念な子が自分のコードをリファクタリングされておこの様子
リファクタスレだらけになった else だらけのコードだったんだろうな。
そんなの放置してたら技術的負債確定だから、
見つけ次第掃除するに決まってる。 スレタイに上級ついてないけどもうすっかり爺が居ついちゃってんのか
完全に低能爺の自己肯定のスレになりそうで悲惨だな エルスなんか、どうでもいい
搾取なくす方法を考えようぜ 搾取されない方法?
そんなの簡単。 営業だよ、営業。
搾取する側になれるんだぞ。 if ( flg ) {
return "a";
}
return "b";
このコードを日本語で説明すると
「フラグが true なら a を返し、それ以外なら b を返す」
になりますが「それ以外」(つまりelseに該当する日本語)を使わずに説明したいです * flgの場合"a"を返す
* "b"を返す
"b"を返す
ただしflgの場合"a"を返す
例外的にflgの場合"a"を返すが主に"b"を返す
どちらに重みがあるかわかりやすいね
elseを使うと主要ケースと例外ケースが対等に見えてしまう 656仕様書無しさん2018/04/16(月) 23:50:58.40
else不要バカはFランのキチガイなんだよね
ずっと粘着してるバカ
ほれほれ反応してみーーー! >>69
回答ありがとうございます
> * flgの場合"a"を返す
> * "b"を返す
文字で伝える分には良いですが、言葉で伝える場合には厳しそうです
> 例外的にflgの場合"a"を返すが主に"b"を返す
「主に」だと"b"を返す確率が高い印象を与えてしまいそうです
> "b"を返す
> ただしflgの場合"a"を返す
これはとても参考になる言い回しでした elseを使うと主要ケースと例外ケースが対等に見えなくなるように、
対等なケースを分岐する際にelseを使わなかったら、主要ケースと例外ケースに見えてしまう
使い分けが肝心だ >>72
1文目がなんかおかしいな
elseを使わないことで主要ケースと例外ケースが対等に見えないように出来るように、
かな すぐに三項演算子を使いたがるのは現実を知らないガキの特徴
早く社会に出て大人になれよw else使わなくてもいいから、差し戻しされたテスト結果を他人に回すなや。 else なんか書いてるから、そういう尻拭いさせられるんだよ。 つまり、elseを使うほうが生産性が高いという証明。 読みやすいかどうかって、結局多数決だからね
100人中80人がelse有るほうが読みやすいって言うだろうから、else使わないほうが読みやすいってのは詭弁でしかない 【作業期限】損害だから断れ【客先指示】
☆不利益で迷惑だから料金増やすか生産減らせ☆
人手不足が深刻な5つの業界。それぞれの現状と今後の見通し
1.情報サービス
2.家電・情報機器小売
3.放送
4.運輸・倉庫
5.建設
https://help-you.me/blog/lack-of-manpower
SI業界は、7Kと呼ばれるほど労働環境が良くない業界なので、他の業界と人員獲得競争に負ける可能性が大いにありますし、また同じIT業界内でも、webサービス企業や事業会社のITサービス部門ともエンジニアの争奪戦を繰り広げなくてはなりません。
Webサービス企業や事業会社は自社サービスということもあり、劣悪な労働環境は少なく、採用の競合としては、Webサービス企業や事業会社は強敵となるでしょう。 else なんか使ってる奴は頭悪いから step 数で料金が決まる
ヴァカみたいな契約して生産性を下げた上、労働貧乏になってるんだよな。 爺さんはホント自演好きだねぇw
elseの代わりに三項演算子使ってもステップ数は変わらないって前に教えてあげたのに
ボケてるからもう忘れたのかw しかし、本当に「しかし、本当に else は要らねぇなぁ…」は要らねぇなぁ… しかし、本当に「しかし、本当に「しかし、本当に else は要らねぇなぁ…」は要らねぇなぁ…」は要らねぇなぁ… if ( flg ) {
return "a";
}
return "b";
このようなコードを初見で理解しようとしたとき頭の中で
「フラグが true なら a を返し、それ以外なら b を返す」
と読んでしまいます
「それ以外」(つまりelseに該当する日本語)という言葉を
脳内に浮かべることなく理解するにはどうすればよいのでしょうか
下から読めば>>69の読み方もできるのですが
プログラムは上から読むものなのでその読み方を使えなく困っています 完全にelse脳だね、頭がelseに侵食されているせいで存在しないelseが見えてるんだ
elseは癌のように育つと君は知らないんだ
「オレの声を聞け、教えてやる」
「オレの腕をつかめ、手を差し出すから」
だが、オレの言葉は雨粒のように落ちていき
elseの井戸の中で響くだけ >>89
プログラマはコードを読むときにいちいち日本語に置き換えません
アメリカ人が英文を読むときに頭のなかで日本語に置き換えないのと同じです
コードはコードとしてそのまま理解します function Hoge(flg) {
if (flg) { return "a"; }
return "b";
}
関数Hogeは引数flgを受け取り次の手続きを順次実行します
* もしflgなら"a"を返して終了
* "b"を返して終了 function Hoge(flg) {
if (flg) { return "a"; }
return "b";
}
関数Hogeは引数flgを受け取り次の手続きを順次実行します
* もしflgなら次の手続きを順次実行します
* "a"を返して終了
* "b"を返して終了 そんな糞どうでもいい事でグダグダ言ってんじゃねーよ
お前は他人にコードを読んでもらわないんだから、どう解釈されるかなんて気にする必要あるのかよ 勢力図が見えてきたな
いちいち日本語に置き換えないとプログラミング出来ないバカ
私大文系
elser
これらは同一のグループだったわけだな > if ( flg ) {
> return "a";
> }
> return "b";
> このようなコードを
それがおかしいんだよ。こう!
if ( flg ) {
throw new Exception();
}
// 以下、正常処理 メソッドにするまでもねーな
var x = flg ? ″a″ : ″b″; だから何度も、正常系と異常系を意識してコード書けって言ってんのに、
ただの分岐処理で頭が止まってるから elser はダメだって言ってんだよ。
KACとか、チンパンジーだっただろ? >>99
さんこうなんちゃらは
普通、使用禁止のコーディング規約じゃね? >>102
俺は、色々な会社で色々なプロジェクトを死ぬほど経験した
非正規底辺プログラマーのおっさんだが
だいたいどこ行っても大手のコピペだろうコーディング規約は、
禁止されてることが多かった気がする。 ジャップランドのIT現場では規約とは足枷のエイリアスなんだよって世界中で笑い者になってるよ >>105
その定義は世界共通なんやけどおたくナニ人? >>100
「引数は時間、返り値はvoid、引数が3600秒未満60秒以上なら分のみ出力、引数が60秒未満なら秒のみ出力せよ」
って関数を作る場合、分出力と秒出力のどっちが異常系?どっちが正常系? 異常系は3600以上
0から3600未満は60進数の最上位桁を得るという問題なので分岐は不要 ミリ秒にも対応しろ、って仕様変更されたら、秒出力が正常系から異常系に移るって事かな >>109
お前、それ明日の昼休みに同僚に言ってみたら?
「分と秒なら、秒が正常系、分が異常系ですよね」ってさ
どんな回答が返ってくると思う? 条件文の後置を全ての言語がサポートすべき
return "a" if flg = 0
return "b" if flg = 1
return "c"
最高に見易いし英文(命令文)としても自然だ >>108の問に抜けがあるのが問題だな
単位も出力しろって問にしないと、10秒のときと10分の時で出力が同じになっちゃうじゃん ジャップランド滅びねーかな
日本の国土は好きだよ
ある意味で俺は愛国者だ
日本は土地は好きだからな
でもジャップ民族とジャップの文化歴史は嫌い
中世ジャップランドはいつ迄続くんだよ
海外からの移民受け入れでジャップの文化を上書き更新したい。 >>115
自分の意に沿わない部分があると問題に集中できないタイプだな 妙なこといいだすとおもったらまたそういうあれか
Janeやめたほうがええかしらん >>109の書くコードは読みにくそうだな
素直に書けばいいのに >>91
>プログラマはコードを読むときにいちいち日本語に置き換えません
意識してなくても自然に日本語に置き換えて理解していると思うのですが。
もし日本語に置き換えていないのなら「イフ」等も頭の中に浮かんでいないことになりますが
どのように理解しているのでしょう
もしかしてコードだけで会話できたりするのでしょうか?
>アメリカ人が英文を読むときに頭のなかで日本語に置き換えない
これは当たり前ですよね
「日本人が英文を読むときに頭のなかで日本語に置き換えない」
の間違えですか? >>119
そいつ、コード書かないから
仕様を上から下に投げるだけで金を貰える、私大文系プログラマだよ >>101
大手SIerだが、三項演算子は基本禁止だったな
三項演算子を使うなif elseを使え、if elseを使うときは中身が一行でも{}を付けろ
規約はガチガチに固めてあるよ
まぁ、守らない人もいっぱい居るけどね >>120
ifはプログラムの構成要素なのでそのまま理解すればよい
自然言語のifと混同しているようだが同じではない
--
そう当たり前の話
当たり前のようにプログラム言語はプログラム言語のまま読む
外国人だろうが日本人だろうがC言語を読む時にわざわざ母国語に変換して読んだりはしない
母国語に変換するのは対象言語に不慣れなビギナーだけ
英語を習いたての子供は日本語に変換して理解するが英語に慣れた大人は変換しなきても意味を理解できる
英語から即座にイメージがわいてくる
例えばC言語で
a[i++] = 0;
と書いてあった時にビギナープログラマは
配列aのi番目の要素に0を代入してiをインクリメントする
と自然言語に置き換えて読んでしまう
しかし熟練のプログラマは
a[i++] = 0;
とそのまま読んでそのまま挙動を理解する
その間に自分の母国語が頭の中に出てくることはない
それがC言語ネイティヴの思考方法
いちいち母国語に置き換えて理解していたら時間の無駄だし意味が曖昧化して間違えやすい
そして自然言語に置き換えにくいあるいは置き換えられないプログラミング要素を忌避するこおとになる
例えば三項演算子やλ式だ
母国語変換が必要なビギナーはこういうものを嫌うがプログラミング言語ネイティヴには全く抵抗感がない
母国語変換は低レベルな私大文系SEのやる事なのではやく卒業しよう > 108仕様書無しさん2018/04/19(木) 22:28:42.02
> 「引数は時間、返り値はvoid、引数が3600秒未満60秒以上なら分のみ出力、引数が60秒未満なら秒のみ出力せよ」
> って関数を作る場合
まだ言ってんのかこのヴァカ
判定する関数で、出力するとこまで関数に含めるな ボケナス
役割分担、いつになったら理解できるんだ 死ね >>124
ほんとelse以前の問題だよな
オールインワンを求めたりするのはプログラマとして致命的 else騒ぎが続いてるけども、何処よりもプログラマーの集うSIer界隈では、規約で三項演算子禁止。
正規表現も環境によって動きが変わるから多用は推奨されない。もちろん否定的先読みなどは禁止。
SQLも入れ子はダメだ。
実務の世界では分かりやすくないとダメなんだよ。
だからifとelseは大歓迎。
特に三項演算子・SQL・正規表現はSIerレベルのエンジニアでもよく分からない人が多いので、禁止事項が沢山設けられている。 >>127
だからお前らのプロダクトは特にユーザビリティの面において品質が低いんだよ。
おまえら、システムつくるためにシステム作ってるだろ? >>129
給料をもらうために作ってるよ。
給料をもらえればなんでもいい。 車の運転は難しいから車道全面禁止、歩行のみ許可みたいなもんか
頭悪いよなぁ
慣れれば車のほうが楽でしょ
長距離なら車が圧倒的でしょ
私大文系
ほんとバカ >>135
仕事を趣味と勘違いして
やりたいことをやりたいようにしかやらないヤツより
はるかにマシ。 >>136
結果ゴミを産出してたらカスなんだよなぁ
捉え方なんかどうでもいいからちゃんと動く成果物をあげてくれ >>137
おまえリアルで叱られた自分の欠点をそのままここで言っとるやろw Java使えなくてクビになった爺さんと初心者どもにはお似合いのスレだなw >>140
それも叱られたんかw焦りすぎやろお前w >>142
しつこいわw
おまえどっかいいとこあるんか?さすがの俺でもなかなか見つけられんでおまえのいいとこw >>144
ごめんけど、まず質問に答えて
なんでそんなに必死なんですか? >>146
おまえここでその3連荘はやばいやろw
客観的に言っておまえの必死の抵抗感やばいでマジにw
やばすぎて同情をかっちゃうレベルw
悪い事言わんからまず深呼吸してみろ?落ちつけ?な?w >>123
>熟練のプログラマは
>a[i++] = 0;
>とそのまま読んでそのまま挙動を理解する
それなら
if ( flg )
return "a";
else
return "b";
もそのまま挙動を理解できるわけで、else不要って主張するのはなぜ?
elseがあると挙動を理解できない? >a[i++] = 0;
この書き方悪いよ
int i = 0;
i++;
a[i] = 0;
と書くのが正解
可読性が大事なのよ。
関数でもそう、そのなかに処理がいくつもあると
可読性が悪い。 >>152
そのまま理解できるから無駄な記載を無くしたいんじゃねーか >>154
それが無駄じゃないんだよなぁ
例えばifの中がユーザーが男か女かのフラグだとして、男なら"タロウ"、女なら"ハナコ"を返す関数だとすると
if ( userInfo.IsMan() )
{
return "タロウ";
}
return "ハナコ";
if ( userInfo.IsMan() )
{
return "タロウ";
}
else
{
return "ハナコ";
}
上のコードは、男なら例外的に"タロウ"を返し、基本は"ハナコ"を返す、に見える
下のコートは、男なら"タロウ"、女なら"ハナコ"を返す、に見える
この2つの違いを見ればわかるように、elseには「これは例外パターンを扱う処理ではなく、並列した2つの処理を扱ってますよ」という意味を持ってる
elseには意味が有る、無駄ではない
(そもそも、無駄な記述を無くしたところでなんの意味も無いんだけどね、わざわざ消す方が無駄w) >>152
全くベクトル違う話題をそれならとか言って繋げるなよ
ちょっと軽率すぎるぞelser >>155
オカマは無視かよ
今それやったら差別的って怒られるぞ >>155
何度も言ってるが対等の場合は三項演算子が正解だよ
そろそろ理解してくれ
君が書いたif/elseバージョンの問題はreturn文をコピペしてる点ね
これは気が付きにくいけどDRYに反する粗悪なコードなんだ
return文という短い文だからif/elseでreturnを2回書いてもいいように勘違いしてしまう気持ちはわからなくもない
しかし一般的には文の長さはもっと長くなるかもしれないんだ
だから文は共有して差分がある式だけを三項演算子で切り替えるのが正解ってわけ >>157
オカマからマイナーの権利を取り上げる気かひどい差別主義者やな ■ このスレッドは過去ログ倉庫に格納されています