2024-01-22

anond:20240122111105

適切な粒度関数を分割しとけば生産性上がるけどね。

module_name.pyみたいなモジュールごとにファイル分割して、インターフェイスだけ公開してその他はdef _funcみたいにprotected(or private)にしとく。

でも「共通性がありそうだから共通関数にする」はアンチパターンだな。たまたま共通してただけの場合分岐コードが増えて共通関数保守コストが上がる。

あとありがちなのは、php開発者関数分割しないですべてメインコードにべた書きするケース。こういうのはやめないと保守が大変。

とっておきのクズがやりがちなのは、神オブジェクトを作るとかだな。Userクラスフィールド関係する機能が多いからといって、コンポジションなどによるクラス分割をせずにユーザークラスにあらゆるフィールドメソッドを追加して、さらに進むとユーザーとは無関係機能も含めすべてをユーザークラス定義するアフォ。こうなってしまったら、後から修正するのが難しくなる。

先に手を打つことが、プログラマーの素質「怠惰」につながるのであり、面倒臭いといって後回しにするのは美徳でもなんでもない。

記事への反応 -
  • プログラムを書くときは適当にプログラムを書いている。 問題が起きたらその時、考える、という方針で、設計など何もなくすべてべた書きしている。 例えば、「必要になるかもしれな...

    • 適切な粒度で関数を分割しとけば生産性上がるけどね。 module_name.pyみたいなモジュールごとにファイル分割して、インターフェイスだけ公開してその他はdef _funcみたいにprotected(or private)...

    • 2万行あって20重にネストしてる教授の書いたソースコードをメンテさせられたことあるけど。 クラスに分割して整理したら教授に激怒されましたよ。

    • 自分しか保守しないならそれでいいんじゃない?

    • コードレベルのことなんて一々考えん ブラックボックスでいい イン・アウトがわかっていればそれで使える

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

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