[過去ログ] Qiita 4 - キータぞ、来たぞ、キータだぞー (1002レス)
前次1-
抽出解除 必死チェッカー(本家) (べ) 自ID レス栞 あぼーん

このスレッドは過去ログ倉庫に格納されています。
次スレ検索 歴削→次スレ 栞削→次スレ 過去ログメニュー
147
(7): デフォルトの名無しさん [] 2024/02/17(土) 14:28:35.26 ID:M+9VD8BN(1/8) AAS
> A: 4の倍数の年は、うるう年
> B: ただし、100の倍数の年は、うるう年ではない(平年)
> C: ただし、400の倍数の年は、うるう年
> D: ただし30の倍数の年は、うるう年
> E: ただし、30と4の倍数の年はうるう年ではない
> F: D, Eは2025年より適用する

をC++で書いてg++でコンパイルしてみた。

https://godbolt.org/z/coTEYncxr

アセンブリ言語読めないけど色分けでC++とアセンブリ言語の対応を教えてくれるので助かる。Eの判定部分に対応するアセンブリ言語が出力されてないな。g++に無駄な判定であると判断されたか。

試しに、重複してる4の倍数判定を

E: ただし、30と7の倍数の年はうるう年ではない

に変えてみると

https://godbolt.org/z/dn94xYo5K

今度はEの判定部分に対応するアセンブリ言語は出力されるようだ。g++がashworthより賢いことは分かった。
149
(1): デフォルトの名無しさん [] 2024/02/17(土) 16:46:24.50 ID:M+9VD8BN(2/8) AAS
早期returnしてインデント深くしないのが常に正しいと勘違いしてる馬鹿は最近よく見るよなあ。

https://godbolt.org/z/e68zE69r5

『リーダブルコード』の罪は深い。
151
(1): デフォルトの名無しさん [] 2024/02/17(土) 17:13:47.41 ID:M+9VD8BN(3/8) AAS
違うか。こうか。

https://godbolt.org/z/PWeYPT5P9

逆条件ややこしすぎ。

> C: ただし、400の倍数の年は、うるう年
> D: ただし30の倍数の年は、うるう年

↑の仕様バグもあるせいか早期return使って正しくコーディングできる自信おれにはないわ。
152
(1): デフォルトの名無しさん [] 2024/02/17(土) 17:17:43.96 ID:M+9VD8BN(4/8) AAS
>>148 >>150の考える正解のコードに大期待。

コード晒せなかったらいつものashworthって思う外ないかな。
153: デフォルトの名無しさん [] 2024/02/17(土) 17:24:55.86 ID:M+9VD8BN(5/8) AAS
ashworth先生曰く

https://qiita.com/tak001/items/02f0b6fcdb2dbcb66f16#comment-995b69974c49369ac60f
> まともな人はこういうコードを書きます。

> def isLeapYear(year):
>  if year % 400 == 0: return True
>  if year % 100 == 0: return False
>  if year % 4 == 0: return True
> return False

だそうだけどこのコードにどうやって

> 2022/4/28仕様変更
> D: ただし30の倍数の年は、うるう年
> E: ただし、30と4の倍数の年はうるう年ではない
> F: D, Eは2025年より適用する

を盛り込むのかその辺もお聞きしたい。
155: デフォルトの名無しさん [] 2024/02/17(土) 17:39:02.70 ID:M+9VD8BN(6/8) AAS
いま気づいたが>>147に投稿した
https://godbolt.org/z/coTEYncxr

>>151に投稿した
https://godbolt.org/z/PWeYPT5P9

で、g++が出力したアセンブリ言語の内容がぴったり一致してるのちょっと面白いw

>>151に投稿したコードに論理ミスはなかった感じでちょっと安心した。
157
(1): デフォルトの名無しさん [sage] 2024/02/17(土) 17:47:33.08 ID:M+9VD8BN(7/8) AAS
>>154
うるう年判定でも仕様変更を考慮すべきってのはashworth先生の主張なんだし
https://megalodon.jp/2022-0428-1044-18/https://qiita.com:443/tak001/items/02f0b6fcdb2dbcb66f16 ←の一番下のコメント参照

先生がお考えになる正解を教えて欲しいってのは当然のことでしょ。
159: デフォルトの名無しさん [] 2024/02/17(土) 18:02:50.60 ID:M+9VD8BN(8/8) AAS
>>148 >>150の考えるベターなコードに大期待。

コード晒せなかったらいつものashworthって思う外ないかな。
前次1-
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ AAサムネイル

ぬこの手 ぬこTOP 0.040s