記事へのコメント27

    • 注目コメント
    • 新着コメント
    masayoshinym
    ちょっとした例題くらいの気持ちで書いただろうコードがブコメでタコ殴りにされてるのを見るにつけ、怖くてQiitaに投稿なんかできねぇよって気持ちになる。

    その他
    Error401
    申し訳ないけど、このメソッドを書き始める時点で、current, total, size(変数名は原文ママ)を仮引数にしない時点で、プログラマに向いてないんじゃないのまで思っちゃう

    その他
    Makeneko
    「仕様変更に強いコードを書きたいぞい!ってエンジニアだったら思いませんか。」昔は私もそう思った時期がありました。皆が通る道なのだろうか。

    その他
    diveintounlimit
    当人には申し訳ないけど、そういう事言う以前のコードだな。。という感想。絶対にあり得ない可能性のために無駄に重厚で動作も重たいコードを書くやつなら居た。最終的にゴリっと削られたけど。YAGNI大切。

    その他
    Phenomenon
    テストは始めに書いた方が楽だよ

    その他
    ledsun
    ledsun 変更を予測して抽象レイヤーを入れて、予測が外れて抽象レイヤーが邪魔になって、予測を諦めて、やっぱり予測してを繰り返していい塩梅を見つけることを「経験を積む」というので、やっていこう!

    2019/12/14 リンク

    その他
    gabari
    gabari 「※ sizeは表示するリンクの数、totalは総ページ数のこと」という分が説明のために書かれている時点で負けている(リーダブルではない)

    2019/12/14 リンク

    その他
    ene0kcal
    「仕様の変更に強いコード」という欲に負けてはいけません。問題なのは、場当たり的にコーティングすること。関数名、変数名が的確でないこと。ページ数なのにsizeってダメダメ。一文字変数もダメです。

    その他
    kazuau
    rangeのところ、自分の学習結果で他意はない return new Array(size).fill(Math.floor(start) + 1).map((v, i) => v + i);

    その他
    megumin1
    megumin1 悪記事。可読性は相当悪くなっている。特にrange(), getPageNums()等が一見何をやっているのかさっぱりわからない。関数名が曖昧、さらに中でr,s,eとか一文字変数を使っていたり、なにをするコードなのかさっぱりわからない。

    2019/12/14 リンク

    その他
    ka2jun8
    ka2jun8 議論するのにいい題材なんだろうな。

    2019/12/14 リンク

    その他
    buhoho
    buhoho これを履き違えて不必要に重厚なレイヤー、複雑な実装になってて、小回り効かずむしろ変更に手間がかかる。みたいなの見かける/記事例もちょっとやり過ぎ感ある…

    2019/12/14 リンク

    その他
    versatile
    実は、元のコードのほうが意図が伝わりやすく、読みやすい。でも変更には弱い。残念

    その他
    nakag0711
    ページネーションに付随する処理ではあるが…

    その他
    magnoliak
    端的に大事なことが全部まとまってて、分かりやすい!

    その他
    lacucaracha
    lacucaracha そしていざ仕様変更が生じたときに、引き継いだ人が意図に気づける設計でないといけないもんなあ。エンジニアは難しい商売だ。

    2019/12/14 リンク

    その他
    strow0343
    strow0343 こういうのは設計そのものより設計根拠を何かしらの形で残す方を重視した方がいい。仕様変更が入った際に変える箇所・不要になって捨てる箇所が明確になるように

    2019/12/14 リンク

    その他
    nyop
    書きたいよね。

    その他
    n314
    あれ?良い題材だなと思ったけどなんか違うな。ページネーションって合計行数と最大リンク表示数と1ページ表示行数を渡してリンク用データを得るやつじゃないのか。

    その他
    fuji_haruka
    fuji_haruka start = Math.max(0, Math.min(total - size, s)) にするとさらに循環的複雑度が減るし可読性が上がりますね/コメントに書いた

    2019/12/14 リンク

    その他
    atsushifx
    分かっていることだけど。TDD,リファクタリング、デザインパターンという神器があってこそ

    その他
    ryuichi1208
    大事。

    その他
    sdkd6611
    sdkd6611 結局は、今作ってるものがどこまで変わる可能性あるのかをしっかり見つめることだよな。可能性考慮しすぎてもダメ、しなさすぎてもダメ。

    2019/12/13 リンク

    その他
    shikiarai
    shikiarai こういう姿勢だけでも弊社的にはすごく価値があるけど伝わるかな……

    2019/12/13 リンク

    その他
    n_231
    僕ならrange関数はstartとsizeを受け取ってsize回くりかえすようにするかな。そのfor文怖くない?まあいいんだけど。

    その他
    L-Tip
    大事なことだと思います。[Program][コード]

    その他
    yosuke_furukawa
    最近技術顧問でペアプロした時にコメントしたページネーションの話ですー!

    その他

    注目コメント算出アルゴリズムの一部にLINEヤフー株式会社の「建設的コメント順位付けモデルAPI」を使用しています

    アプリのスクリーンショット
    いまの話題をアプリでチェック!
    • バナー広告なし
    • ミュート機能あり
    • ダークモード搭載
    アプリをダウンロード

    関連記事

    仕様の変更に強いコードを書きたいよねって話 - Qiita

    この記事は NIJIBOX Advent Calendar2019の13日目の投稿です。 背景 何かしらのロジックを作る際に、仕...

    ブックマークしたユーザー

    • techtech05212024/03/18 techtech0521
    • kentaojapi2024/02/07 kentaojapi
    • hatnag20012023/08/31 hatnag2001
    • kyo_ago2021/03/10 kyo_ago
    • Ehren2021/01/17 Ehren
    • heatman2020/01/13 heatman
    • mkusaka2019/12/31 mkusaka
    • mjtai2019/12/17 mjtai
    • masayoshinym2019/12/16 masayoshinym
    • masa0x802019/12/15 masa0x80
    • takets2019/12/15 takets
    • attakei2019/12/15 attakei
    • Error4012019/12/15 Error401
    • n_reishi2019/12/14 n_reishi
    • otsuky2019/12/14 otsuky
    • DustOfHuman2019/12/14 DustOfHuman
    • vndn2019/12/14 vndn
    • Makeneko2019/12/14 Makeneko
    すべてのユーザーの
    詳細を表示します

    同じサイトの新着

    同じサイトの新着をもっと読む

    いま人気の記事

    いま人気の記事をもっと読む

    いま人気の記事 - テクノロジー

    いま人気の記事 - テクノロジーをもっと読む

    新着記事 - テクノロジー

    新着記事 - テクノロジーをもっと読む

    同時期にブックマークされた記事

    いま人気の記事 - 企業メディア

    企業メディアをもっと読む