2024-06-28

可読性とクソコード全然違う

なんか競プロ出身者は可読性が低いとか言う話が多いけど

そうじゃなくてクソコードが多いんだよ

可読性が低いだけならまだマシだし、可読性は人によるよ

例えばTypeScript

っていうIssueがあったとして

const toBanana = (apple: 'apple'[]) =>
  apple.map((a, i) => (i % 3 === 0 ? 'banana' : a))
const toBanana = (apple: 'apple'[]) => {
  const appleAndBanana: ('apple' | 'banana') = 
  for (let i = 0; i < apple.length; i++) {
    if (i % 3 === 0) {
      appleAndBanana.push('banana')
    } else {
      appleAndBanana.push(apple[i])
    }
  }
  return appleAndBanana
}

のどっちが可読性が高いかっていうのは人によるよ

(長いソースを読むのがしんどい人と、関数化されたソースを読むのがしんどい人)

クソコードっていうのは

const toB = (a: any[]) =>  {
  for (let i = 0; i < a.length; i++) {
    if (i == 3) a[i] = 'banana'
    if (i == 6) a[i] = 'banana'
    if (i == 9) a[i] = 'banana'
  }
  return a
}

こういうの書いてくる人だよ

「お前これ10個以上来たらどうすんのよ」

テストでは10しか来ないですよね。なので十分です」

みたいに返事してくるし、修正させても

const toB = (a: any[]) => {
  for (let i = 0; i < a.length; i++) {
    if (i == 3) a[i] = 'banana'
    if (i == 6) a[i] = 'banana'
    if (i == 9) a[i] = 'banana'
    if (i == 11) throw new Error('banana')
  }
  return a
}

こんなんPRしてくる奴のことだよ

可読性が低いとかで文句言ってる奴はもっとレベルを下げた話をしてくれ

  • 10個以上とは言うけど、じゃあいくつまで対応せにゃならんの?ってのは気になるな メモリ足りなかったらどうすんの?まで来たら地獄 そもそも今処理する必要ある?遅延評価でええや...

記事への反応(ブックマークコメント)

ログイン ユーザー登録
ようこそ ゲスト さん