記事へのコメント35

    • 注目コメント
    • 新着コメント
    lycolia
    べた書きするのではなく、意味を持った抽象単位に関数分割して可読性を上げる話(責務分割のこと)

    その他
    nilab
    「関数の長さについて書いたコラムで、重要なのは意図と実装の分離であり、適切な名前を付けることが大事だと指摘します。同氏のブログは翻訳が許可されているので、記事「FunctionLength」の本文を翻訳しました」

    その他
    sosuk
    どれくらいの長さになったら関数に分離すべきか。 意図と実装の分離。もし、理解するのに努力が必要なコードの一部分があったら、そこを関数として切り出し、その「なに」にちなんだ名前を付けると良い。なる。

    その他
    kymmt90
    意図と実装の分離

    その他
    takatama
    人が読めるコードを書くには手間がかかる。そのコードでどう処理しているか(実装)と、そのコードで何をするのか(意図)を分けて書く。意図のメソッドは内部で実装のメソッドを呼び出す

    その他
    mizoguche
    “Smalltalkの画像のクラスにはこの“Highlight”(ハイライト)と呼ばれるメソッドがあり、この実装は単に“reverse”メソッドを呼び出すものだったのだ”

    その他
    kita-tuba
    関数の適切な長さとは? マーチン・ファウラー氏は、長さより意図と実装の分離、そしてよい関数名が重要だと指摘

    その他
    masutaka26
    適切な名前が付けられると気持ち良いですよね

    その他
    xorphitus
    自分もこんな感じでやってる。ちなみに、関数に分割しすぎると追うのが大変、という意見も聞いたことがあるが、それは分割単位か、命名か(両者は不可分でもある)、読み手の考え方のいずれかに課題があると思う

    その他
    koogawa
    関数の長さの議論はよく聞くけど、こういった「意図と実装の分離」の話も面白い

    その他
    griefworker
    関数は物語。

    その他
    ntstn
    ネストが増えて、その中の処理が長くなったり再利用することになったら、新しい関数に分離する。でもどんなに長くても200行くらいかなー。

    その他
    Haaaa_N
    関数を書くと再利用するために書いているように見えてしまうというのが悩みどころ だから乱発はあまりしたくない 言語によって左右される部分は多そうだけど

    その他
    zyzy
    強制的に名前を付ける羽目になることで、そもそも自分がそこで何をやろうとしているのかをちゃんと考える必要性が出てくる、ってのも大事だよね。

    その他
    sonota88
    この話「リファクタリング」(18年前の本)でやってますよね

    その他
    FunnyBunnyDizzy
    意図と実装の距離が遠い場合に、適切な名前をつけて近づける

    その他
    mas-higa
    まぁだいたいこうなるよね。

    その他
    shin0O
    "意図と実装の分離"

    その他
    wwolf
    wwolf 逆に短い関数を毛嫌いして、極端に長い関数を書きたがる人がたまにいるけど、あれは何なのだろうか。単なる不勉強な輩なのか、それとも全く別の認知モデルを持つのか

    2017/01/31 リンク

    その他
    akatakun
    意図と実装の分離,なにをしているのか理解するのに努力しなければならないコードの一部分があったとしたら、そこを関数として切り出し、“what”に続いてその名前を付けてしまう

    その他
    ijufumi
    "what"で切り取れば、 テストもしやすくなるので、ホントよいと思う。

    その他
    tbpg
    "この規律を採用してから短い関数を書くようなった、典型的には数行だ。コードが6行を超えると、もう私にとっては関数の匂いを感じ始めるし、1行のコードからなる関数でさえ珍しくない"

    その他
    betelgeuse
    betelgeuse 「小さな関数は名前が良い場合にのみ機能する」ショートカットやエイリアスの名前

    2017/01/31 リンク

    その他
    OkadaHiroshi
    ただバグがあった場合、階層があまりに深いとデバッグがしにくいのでそこにはやはり限界がある。

    その他
    gabari
    ホントこれ。英語の文を書いてるように書くのが理想

    その他
    to4iki
    意図と実装の分離

    その他
    UhoNiceGuy
    list.length == 0をisEmptyと書きたくなるのは名前が付け易いからかな?動作を言葉で端的に表現できないものは確かに別関数に切り出したくないなぁ

    その他
    akabekobeko
    akabekobeko 複数ブロックとか多段ネストが登場したら分割の兆しと考えている。それらは大抵、命名可能な意図をもつ。ただし粒度を細かくすることが却って意図を曖昧にすることもあるから悩ましい。

    2017/01/30 リンク

    その他
    suginoy
    suginoy https://github.com/bliki-ja/bliki-ja.github.io にpull request 出すとよいのではないかな…

    2017/01/30 リンク

    その他
    syossan
    適切な長さというものは特になく、意図に沿った関数であれば良いということか。意図を表すための関数名も丁重に扱いましょうってことだな。

    その他

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

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

    関連記事

    関数の適切な長さとは? マーチン・ファウラー氏は、長さより意図と実装の分離、そしてよい関数名が重要だと指摘

    関数の適切な長さとは? マーチン・ファウラー氏は、長さより意図と実装の分離、そしてよい関数名が重要...

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

    • lycolia2025/06/23 lycolia
    • techtech05212024/01/08 techtech0521
    • rin512022/08/24 rin51
    • wata_d2022/08/24 wata_d
    • nilab2022/08/24 nilab
    • hiroki232018/09/17 hiroki23
    • arx0balest2018/04/06 arx0balest
    • ebirhus2018/04/05 ebirhus
    • kmszk2018/04/05 kmszk
    • koroharo2018/04/05 koroharo
    • sosuk2017/09/25 sosuk
    • kymmt902017/08/03 kymmt90
    • kasai-07282017/05/04 kasai-0728
    • learn2017/03/05 learn
    • takatama2017/03/05 takatama
    • mmm-mao2017/02/26 mmm-mao
    • mizoguche2017/02/26 mizoguche
    • kita-tuba2017/02/21 kita-tuba
    すべてのユーザーの
    詳細を表示します

    同じサイトの新着

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

    いま人気の記事

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

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

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

    新着記事 - テクノロジー

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

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

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

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