■ このスレッドは過去ログ倉庫に格納されています
プログラミング講師「引数が偶数ならtrueを、奇数ならfalseを返す関数を作りなさい」
- 1 :以下、\(^o^)/でVIPがお送りします:2017/04/21(金) 23:32:25.132 ID:Wxj0rnu+0.net
- 俺「こうですか?」
boolean func(int num) {
if (num % 2 == 0) {
return true;
} else {
return false;
}
}
講師「あーダメダメ。こういう風に書かなきゃ」
boolean func(int num) {
boolean result = true;
if (num % 2 != 0) {
result = false;
}
return result;
}
俺「はーそうなんですか」
なんで?
- 47 :以下、\(^o^)/でVIPがお送りします:2017/04/22(土) 00:02:41.576 ID:CpunHedZa.net
- コンパイルオプションしらんのか?
- 48 :以下、\(^o^)/でVIPがお送りします:2017/04/22(土) 00:03:20.761 ID:CjJBPxaa0.net
- >>44
マジかよ
ちょっとwandboxで確かめてくるわ
- 49 :以下、\(^o^)/でVIPがお送りします:2017/04/22(土) 00:03:48.799 ID:jKoJKXR10.net
- >>46
ifとelse ifしか無かったらダメだけど、>>1の講師のコードはifとelseだから大丈夫だぞ
これが通らないようなコンパイラはオモチャと言わざるを得ないな
- 50 :以下、\(^o^)/でVIPがお送りします:2017/04/22(土) 00:03:53.415 ID:iIyYgqbjp.net
- >>46
これだわ
- 51 :以下、\(^o^)/でVIPがお送りします:2017/04/22(土) 00:05:20.146 ID://0vEDmlD.net
- >>42
ポイントはそこだと思う。
あと、メンテナンス。
エレガントなコードこそ、拡張しにくいし、デバッグもやりにくい。
ベタベタに書いてるコードなら、拡張を新人にやらせても正解が出る。
- 52 :以下、\(^o^)/でVIPがお送りします:2017/04/22(土) 00:06:41.979 ID:076gWwjJa.net
- >>51
保守性の高いコードを根本的に勘違いしてそう
- 53 :以下、\(^o^)/でVIPがお送りします:2017/04/22(土) 00:07:22.112 ID:jKoJKXR10.net
- あぁ、すまん>>46の意図を微妙に履き違えていた
確かに動的言語だと戻り値の有無がシグネチャで明示されないな
その場合はreturn無いパスがあっても問題無いわ
- 54 :以下、\(^o^)/でVIPがお送りします:2017/04/22(土) 00:07:57.259 ID:JRvONM2S0.net
- Ifの中だろうと用がなくなったらさっさとreturnしろってリーダブルコードで読んだ気がする
それよりretunに式書く書き方、デバッグ中のステップ実行で値確認しづらくて嫌いなんだけどそういう人他にいない?
- 55 :以下、\(^o^)/でVIPがお送りします:2017/04/22(土) 00:08:46.224 ID:duzXs1U30.net
- >>51
くっさ
いや、テストクラスすら知らない香ばしいエレガントな臭いがしてくる
- 56 :以下、\(^o^)/でVIPがお送りします:2017/04/22(土) 00:09:44.843 ID://0vEDmlD.net
- >>52
コーディングは机上でやるんじゃない。
キーボードから打ち込むんだ。
- 57 :以下、\(^o^)/でVIPがお送りします:2017/04/22(土) 00:10:22.320 ID:jKoJKXR10.net
- >>51
そこを気にしたとしても
bool isEvenNumber(int value)
{
int remainder = value % 2;
bool result = remainder == 0;
return result;
}
なんだよなぁ
- 58 :以下、\(^o^)/でVIPがお送りします:2017/04/22(土) 00:10:32.003 ID:duzXs1U30.net
- >>54
入門編としてまずはリーダブルコードでシコシコして欲しいよねえ
- 59 :以下、\(^o^)/でVIPがお送りします:2017/04/22(土) 00:11:20.242 ID:KKV9QKPa0.net
- return !(num % 2);
- 60 :以下、\(^o^)/でVIPがお送りします:2017/04/22(土) 00:11:29.681 ID:jKoJKXR10.net
- インデント消し飛んだ
bool isEvenNumber(int value)
{
int remainder = value % 2;
bool result = remainder == 0;
return result;
}
- 61 :以下、\(^o^)/でVIPがお送りします:2017/04/22(土) 00:12:48.315 ID:duzXs1U30.net
- 出来るエンジニアはみんな読んでるぞ
リーダブルコードでググって買っちゃおう
ふつーにいい本だよん
- 62 :以下、\(^o^)/でVIPがお送りします:2017/04/22(土) 00:13:51.379 ID:CZO9iff3d.net
- >>54
はい。
if((str=getenv(hoge)) !=NULL) {
とか、死ねと思う。
- 63 :以下、\(^o^)/でVIPがお送りします:2017/04/22(土) 00:18:54.703 ID:CjJBPxaa0.net
- >>44
swiftとgoはコンパイルエラーなったわ
なるほどな
- 64 :以下、\(^o^)/でVIPがお送りします:2017/04/22(土) 00:38:12.570 ID:duzXs1U30.net
- アフィカスは>>61のレスとAmazonへのリンクをちゃんとしとけよな
- 65 :以下、\(^o^)/でVIPがお送りします:2017/04/22(土) 00:44:01.384 ID:K0c4WSGS0.net
- 余計な変数増やすなよハゲ!いらんだろハゲ!って思う
ifでfalseリターンしろやハゲ!出来ればブロック作んな!って思う
- 66 :以下、\(^o^)/でVIPがお送りします:2017/04/22(土) 00:46:02.308 ID:vg5Zs9dL0.net
- if-returnするとエラーになるのコンパイラの都合なので
全域関数なら通ってほしいなとは
- 67 :以下、\(^o^)/でVIPがお送りします:2017/04/22(土) 00:53:36.788 ID:cZtJB3fq0.net
- >>66
コンパイラの出来が悪いのはその言語自体が未成熟なのと同じなので
別の言語に乗り換える理由になるな
- 68 :以下、\(^o^)/でVIPがお送りします:2017/04/22(土) 00:56:39.636 ID:plr8gV05H.net
- 美女がコロッと落ちる!?女性500人に聞いたアリな40男の特徴
http://teasd.tarama.jp/201713.html
- 69 :以下、\(^o^)/でVIPがお送りします:2017/04/22(土) 01:13:00.483 ID:YH4cRhID0.net
- >>46
trueもfalseもbooleanだから、リターンをちゃんとその型で返してるぞ?
- 70 :以下、\(^o^)/でVIPがお送りします:2017/04/22(土) 01:13:29.156 ID:KSXN0iI10.net
- 大体こういうスレは>>1を置き去りにした激しい議論が展開される
- 71 :以下、\(^o^)/でVIPがお送りします:2017/04/22(土) 01:15:50.939 ID:kauLu2g60.net
- VIPにプログラミングの知識ある奴こんなにいるのかよ
すげぇ
- 72 :以下、\(^o^)/でVIPがお送りします:2017/04/22(土) 01:16:54.289 ID:3NDI0nE20.net
- 凄いのかどうかすら分からない素人参上
- 73 :以下、\(^o^)/でVIPがお送りします:2017/04/22(土) 01:18:30.245 ID:kxKhPcSr0.net
- 俺コンパイラっていうか主にunity使ってたんだけど
確かに前やった時は>>1の上のでエラーになってたと思うんだけど今試したら
何も問題無く通った
おかしいなぁ
前に駄目だったのがショックでずっとこうしないように作ってきたのだが
unityのコンパイラのバージョンが変わったのかなぁ
- 74 :以下、\(^o^)/でVIPがお送りします:2017/04/22(土) 01:20:23.295 ID:qRgIXQE4d.net
- 綺麗なコード書くやつは一生コーダーやってろ
と思う。
- 75 :以下、\(^o^)/でVIPがお送りします:2017/04/22(土) 01:21:25.895 ID:YH4cRhID0.net
- >>73
Unityみたいな最近のコンパイラがそんなアホな実装されてるわけがないから、
if( num % 2 == 0 ) {
return true;
}
if( num % 2 != 0 ) {
return false;
}
って書いてたんじゃね?
- 76 :以下、\(^o^)/でVIPがお送りします:2017/04/22(土) 01:22:42.203 ID:l26s0yfF0.net
- なんでreturn2つあんの?
- 77 :以下、\(^o^)/でVIPがお送りします:2017/04/22(土) 01:23:23.872 ID:kxKhPcSr0.net
- >>75
どう書いたか覚えてはいない
俺勘違いしてたんだな
- 78 :以下、\(^o^)/でVIPがお送りします:2017/04/22(土) 01:24:27.062 ID:YUVPRN54d.net
- イルスにもリターンがあるのにエラー出すコンパイラは俺も遭遇したことがない
結局講師が正しいん?1が正しいん?
俺は1と同じ書き方してるわ
- 79 :以下、\(^o^)/でVIPがお送りします:2017/04/22(土) 01:25:52.187 ID:l26s0yfF0.net
- やりたいことはわかるけどバカっぽいよね>>1のやり方は
- 80 :以下、\(^o^)/でVIPがお送りします:2017/04/22(土) 01:26:59.233 ID:LSwnThVC0.net
- 変数使う方が嫌
コードが長くなるとどこでフラグをセットしたかわかりにくくなる
俺は処理の途中でretrunしちゃう方がわかりやすい
というか必要ない処理はやらないで抜けちゃいたい
- 81 :以下、\(^o^)/でVIPがお送りします:2017/04/22(土) 01:29:23.575 ID:Ie12tLOed.net
- 俺ならこう
boolean func(int num) {
if (num % 2 != 0) {
return false;
}
return true;
}
- 82 :以下、\(^o^)/でVIPがお送りします:2017/04/22(土) 01:31:21.605 ID:YUVPRN54d.net
- >>81
アホな質問だと思うが、どうして判断文はよく否定が使われるん?
イコールで書いたほうが読みやすくないかなあ
- 83 :以下、\(^o^)/でVIPがお送りします:2017/04/22(土) 01:35:50.412 ID:Ie12tLOed.net
- >>82
講師のコピーしたからこうなってるだけ
どっちでもいいなら==の方が分かりやすいと思う
- 84 :以下、\(^o^)/でVIPがお送りします:2017/04/22(土) 01:36:39.018 ID:YUVPRN54d.net
- しかし、実際のコードでも否定の方がよく使われていると思うんだ
何でか知らんから理由あんのかなと
- 85 :以下、\(^o^)/でVIPがお送りします:2017/04/22(土) 01:38:35.932 ID:g7nVUNxoM.net
- trueが1ではなく正確には非0ってとこから来てる
falseは0だからそれ以外はtrue
- 86 :以下、\(^o^)/でVIPがお送りします:2017/04/22(土) 01:39:49.716 ID:YUVPRN54d.net
- 意味考えろってことか
- 87 :以下、\(^o^)/でVIPがお送りします:2017/04/22(土) 01:39:56.972 ID:Ie12tLOed.net
- 俺は最後のreturnはtrueにしたいから関数の途中で抜けるのは否定になるのかも
関数の役割と判定内容で変わってくるから何とも言えないけど
- 88 :以下、\(^o^)/でVIPがお送りします:2017/04/22(土) 01:42:07.559 ID:cZtJB3fq0.net
- ○○である
○○ではない
一般的には後者の方が引っ掛けられる範囲は広くなるわな
エラー処理用途でも大体後者のが適してるし
- 89 :以下、\(^o^)/でVIPがお送りします:2017/04/22(土) 01:42:50.334 ID:g2tOEa5p0.net
- 俺ならこう
boolean func(int num) {
for (i=0;i++;i<100000) {
if(num/i)return false;
}
return true;
}
- 90 :以下、\(^o^)/でVIPがお送りします:2017/04/22(土) 01:59:58.062 ID:BmSzshwB0.net
- 闇落ちワイ「バグでなければ何でもいいよ」
- 91 :以下、\(^o^)/でVIPがお送りします:2017/04/22(土) 02:36:59.130 ID:E3KIz1F9a.net
- num % 2 != 0じゃなくてnum & 1にしろよ気持ち悪い
- 92 :以下、\(^o^)/でVIPがお送りします:2017/04/22(土) 02:40:57.695 ID:xYhwjw/l0.net
- 実戦で番兵使う人って今どれくらいいるんだろう
- 93 :以下、\(^o^)/でVIPがお送りします:2017/04/22(土) 02:44:03.949 ID:CpunHedZa.net
- cpには確か番兵おったで
- 94 :以下、\(^o^)/でVIPがお送りします:2017/04/22(土) 02:48:57.364 ID:SzdIqf4G0.net
- 番兵は時々使いたくなるな
端の処理だけ場合分けしなきゃいけない時は大抵使えるか考えてる
- 95 :以下、\(^o^)/でVIPがお送りします:2017/04/22(土) 02:52:36.091 ID:YH4cRhID0.net
- >>84
!=を書こうとして=になる事はないが、
==を書こうとして=になる事はあるから、じゃないか?
- 96 :以下、\(^o^)/でVIPがお送りします:2017/04/22(土) 02:54:32.920 ID:K0c4WSGS0.net
- たまに番兵いない時あるから怖い
番兵使う時はいない時のフォローができるか考えてから使うようにしてる
ていうかそれが面倒だから使いたくない
総レス数 96
22 KB
掲示板に戻る
全部
前100
次100
最新50
read.cgi ver 2014.07.20.01.SC 2014/07/20 D ★