2022年01月14日(金曜日)
■概要
FizzBuzzなどを題材に設計〜実装をアルゴリズム別に解説
■実装の前に
要件から実装を設計
・使用言語・出力形式
・倍数の判定:3もしくは5で割って余り0なら倍数
・3かつ5の倍数の判定:3で割って余り0、5で割って余り0なら倍数
→3と5の最小公倍数15で割って余り0なら倍数
・判定は公倍数から行わなければならない
潜在する問題点
・条件が増えたときに計算量が飛躍的に増大していく
■別アプローチ
約数の小さい順から文字列を連結して出力
■結論
イマイチなロジックは長くなるしバグも多くなる
→実装のやる気もなくなる!
・要件と実装コストを考えてあえて修正しないことも
エンジニアとして大事なスキル!
・コーディングする前に実装をどうするか考えた方が
コストの節約になる場合が多い!
(できるだけシンプルに、応用がきくようにする)
FizzBuzzなどを題材に設計〜実装をアルゴリズム別に解説
■実装の前に
要件から実装を設計
・使用言語・出力形式
・倍数の判定:3もしくは5で割って余り0なら倍数
・3かつ5の倍数の判定:3で割って余り0、5で割って余り0なら倍数
→3と5の最小公倍数15で割って余り0なら倍数
・判定は公倍数から行わなければならない
潜在する問題点
・条件が増えたときに計算量が飛躍的に増大していく
■別アプローチ
約数の小さい順から文字列を連結して出力
■結論
イマイチなロジックは長くなるしバグも多くなる
→実装のやる気もなくなる!
・要件と実装コストを考えてあえて修正しないことも
エンジニアとして大事なスキル!
・コーディングする前に実装をどうするか考えた方が
コストの節約になる場合が多い!
(できるだけシンプルに、応用がきくようにする)