プログラミングの時に重視すべき原則やポイントを後輩に伝えるなら
- little_hand_s
- 13713
- 97
- 64
- 1
【ご意見募集】 プログラミングの時に重視すべき原則やポイントを後輩に伝えるなら何にしますか?(最大3つまで) 僕は ・クラスの責務をしっかり定義すること ・高凝集、低結合 色んな話がありますがとにかくこれにつなります。クラスの責務を意識せずに色々盛り込んでるのが悪いことがとても多いです
2019-04-29 10:19:53場面とか背景が統一できないと何ともだけど。 ・昨日まで最高だから今日も最高だと思うな(逆も) かな。プログラミングうんぬんじゃねーかな。 twitter.com/little_hand_s/…
2019-04-29 10:29:21あんまり言われないことだけどまずこの二つができてることが大事 整理整頓w ① 整理 要らないものを捨てる ② 整頓 いつでも誰でも、仕様が修正された時にいじるべきコードにアクセスできるよう秩序だてて配置する twitter.com/little_hand_s/…
2019-04-29 10:30:52依存性逆転の原則 + ビジネスロジックを他の関心事から分離することかなー。ビジネスロジックとその他の層にインターフェースで「境界」を作ってその他の変更からビジネスロジックを守るってだけで自然と責務が整理される気がする。 twitter.com/little_hand_s/…
2019-04-29 10:40:55まずは真っ当な関数を作れるようになること。 ・入力・出力の条件が明確であること。 ・副作用も入出力であることを理解していること。 クラスのメンバ変数はいわばプチグローバル変数なので、真っ当なクラスは真っ当な関数が書けるようになってから…。 twitter.com/little_hand_s/…
2019-04-29 10:45:58・影響範囲を局所化最小化すること、そのための設計技法や言語仕様を覚えること ・条件分岐を単純化すること、そのための設計技法やフレームワークを覚えること ・技術駆動な命名を避け、業務概念を表現した命名をすること twitter.com/little_hand_s/…
2019-04-29 11:31:47この代表格が ・Util ・Service ・Logic 身近にあるこんな名前のクラス、「このクラスは何をするクラスか」すぐに答えられますか?
2019-04-29 12:01:59@little_hand_s HogeServiceとかいう、Hogeに関する便利(開発者にとって )な機能の盛り合わせって感じの見かけますね。。😢
2019-04-29 12:19:40・命名第一(クラス、メソッドの責務にも当然影響) ・コードの背景を説明するコメントはこれでもかというくらい書く ・数値などは適切なサイズの型を使用する twitter.com/little_hand_s/…
2019-04-29 12:21:13@little_hand_s ・名前を正しく分かりやすくつける ・データの意味は型や名前に持たせ、値そのものに持たせない ・共通関数だからって何でもかんでも一箇所に集めない
2019-04-29 12:29:54@little_hand_s • 質(保守性、可読性含め) • 完成速度 • ☝️の二つを同時に達成しようとしない事。並行作業は逆に非効率。 完成速度だけに100%集中。 次に質だけに100%集中。 この繰り返しで、段々と完成速度集中時でも質が良いものが書けるようになってくる。 (ついでに炎上案件の時の、手の抜き方も身につく)
2019-04-29 12:30:44@usu_blog @little_hand_s そうなんです! 質に関して考える5分でモヤモヤすると、あれもこれもどんどん出てきちゃうんですよね(泣)
2019-04-29 13:12:261. Done is better than perfect. 2. 内的品質は外的品質を高める。 twitter.com/little_hand_s/…
2019-04-29 13:35:35@little_hand_s かなり重なってるけど「片方向依存」と「抽象度カスケード」の原則かなー。他のことはそこから出てくるものが少なくないし、方法論を導けるというのもポイント。
2019-04-29 14:07:46@little_hand_s 名前空間も含めた命名ですね。クラスベースの言語なら Manager、Info、Data といった曖昧な単語を含むクラス名を避ける。メソッド・関数名に三語以上の命名を避けるなどが分かりやすく実践しやすいかと。
2019-04-29 14:24:01リファクタリング(相対的にマシにしていくという意味でに)かなー twitter.com/little_hand_s/…
2019-04-29 14:27:12@little_hand_s ・KISS(Keep It Simple, Stupid, シンプルさを保つ) ・DRY(Don't Repeat Yourself, 繰り返し禁止) ・PIE(Program Intently and Expressively, 意図を表現してプログラムする) の3つでしょうか。
2019-04-29 15:13:50責務かなぁ ここを突き詰めていけば自然と他の原則や性質も付いていく気がするので twitter.com/little_hand_s/…
2019-04-29 15:16:45いろんな意見ありがとうございます! みなさま見事に全然違うことを言われているので面白いですw あとでトゥギャッターにまとめさせてもらっても良いですかね?NGな方はお手数ですがお声がけいただけるとありがたいですm(_ _)m twitter.com/little_hand_s/…
2019-04-29 15:38:38@little_hand_s 入社してこれからって人ですと2つです - 小さく動かせること - コードが分かりやすいこと(特に名付け) 動くと楽しくなっていくのと、分かりやすく書いておけば先輩からもアドバイスもらいやすいだろうという考えです
2019-04-29 15:55:19@little_hand_s ネストを深くしない コメントなるべく書く 自分が書いたコードは人に説明できるように 当たり前のことのようだけど、できてない人はいる。 自分も気をつけないと❗️ほんとに❗️
2019-04-29 16:20:19@little_hand_s ・頭を使わずに読める事 ・DRY ・なぜそう書いたのかを説明できること (なんとなく、のコード禁止) を普段から口を酸っぱくして言ってます オブジェクト指向やコーディングルールなんぞ、これらを実現する為の手段でしか無いですよ、ぐらいの思考です
2019-04-29 17:10:59