[過去ログ] Qiita 4 - キータぞ、来たぞ、キータだぞー (1002レス)
上下前次1-新
抽出解除 必死チェッカー(本家) (べ) 自ID レス栞 あぼーん
このスレッドは過去ログ倉庫に格納されています。
次スレ検索 歴削→次スレ 栞削→次スレ 過去ログメニュー
305: デフォルトの名無しさん [] 2024/03/03(日) 13:38:29.39 ID:korTDzLq(1/5) AAS
> 多分、これが仕様書か基本設計書に書かれるんですよね。
>
> A: 4の倍数ならばうるう年
> B: 100の倍数ならば平年
> C: 400の倍数ならばうるう年
> そうしたら、この仕様に沿った形でコード書かないと。
仕様に沿った形というとこういうコードだよなあ。
def is_leap_year(year):
leap_year = False
# A: 4の倍数ならばうるう年
if year % 4 == 0:
leap_year = True
# B: 100の倍数ならば平年
if year % 100 == 0:
leap_year = False
# C: 400の倍数ならばうるう年
if year % 400 == 0:
leap_year = True
return leap_year
仕様変更に対応し易いという点では優れてるかな。うるう年判定にそれが必要かは疑問ではあるが。
306: デフォルトの名無しさん [] 2024/03/03(日) 13:40:04.83 ID:korTDzLq(2/5) AAS
『リーダブルコード』に洗脳されたのかナントカの一つ覚えよろしく早期リターンを勧める人Qiitaでは見掛けるけど仕様からは逸脱しちゃうんで「仕様に沿った形でコード書かないと」という主張的にはナシだろうな。
def is_leap_year(year):
# 4の倍数でないなら平年
if year % 4 != 0:
return False
# 4の倍数で100の倍数でないならうるう年
if year % 100 != 0:
return True
# 4の倍数で100の倍数で400の倍数でないなら平年
if year % 400 != 0:
return False
# 4の倍数で100の倍数で400の倍数ならうるう年
return True
307: デフォルトの名無しさん [] 2024/03/03(日) 14:21:08.84 ID:korTDzLq(3/5) AAS
https://qiita.com/kjm_nuco/items/fd16c2af6b089c4849cd#comment-1dd48f5238d4a2c96c3c
> 多分、これが仕様書か基本設計書に書かれるんですよね。
>
> A: 4の倍数ならばうるう年
> B: 100の倍数ならば平年
> C: 400の倍数ならばうるう年
> そうしたら、この仕様に沿った形でコード書かないと。
おいおいashworth、「ただし」どこやった?
「仕様に沿った形でコード書かないと」ってどの口で言ってる?
https://qiita.com/kjm_nuco/items/fd16c2af6b089c4849cd
> うるう年と判定する条件は、以下のとおりである。
> A: 4の倍数の年は、うるう年
> B: ただし、100の倍数の年は、うるう年ではない(平年)
> C: ただし、400の倍数の年は、うるう年
308(1): デフォルトの名無しさん [] 2024/03/03(日) 14:31:47.57 ID:korTDzLq(4/5) AAS
「ただし」がないとインデントは浅くできる。
def is_leap_year(year):
leap_year = False
# A: 4の倍数ならばうるう年
if year % 4 == 0:
leap_year = True
# B: 100の倍数ならば平年
if year % 100 == 0:
leap_year = False
# C: 400の倍数ならばうるう年
if year % 400 == 0:
leap_year = True
return leap_year
「ただし」のありなしは仕様にある「4」「100」「400」の値が変われば結果に影響するのでこの点は重要。
316(1): デフォルトの名無しさん [sage] 2024/03/03(日) 22:44:59.76 ID:korTDzLq(5/5) AAS
>>315
107374182500年は平年? 閏年?
上下前次1-新書関写板覧索設栞歴
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ AAサムネイル
ぬこの手 ぬこTOP 0.034s