基礎的な考え方

読み

書き

そろばん

  • 論理的思考力
    下記を筋道立てて説明できる

    • どこを修正するとどの様な理由で問題が修正される
    • どこを修正するとどの様な理由でパフォーマンスが向上する
  • 数学力

嵌る時間を減らす

嵌る原因

  • 命名規則が不適切
  • 「取り敢えず」で書いたコードが悪さをする
    発見が難しいバグの原因になる、そのコードが原因で他の箇所で問題が発生する

    • 自分でも納得でき、他人に見せても恥ずかしくないコードのみコミットする
    • 「取り敢えず」とは…
      • エラーを根本解決しない
      • 動作原理が分からないけど取り敢えず動く
      • 「危険なにおい」のするアルゴリズム
      • 見た目が汚いコード
  • 「このままでは何かがおかしい」と感じながら作業する
    • おかしさの根本原因を始めに確認する
    • 「何かがおかしい」とは…
      • 同じ様な処理の記述が複数個所に分散せざる負えない状況
      • 依存関係的にここにこんなコードが入るはずじゃないという状況
      • 意識する必要のないインターナルなクラスや構造を意識しないと問題解決しないという状況
  • いきなりデバッガを起動する
    • まずどの辺りに問題があるのか考え当たりを付ける、次にコードを読んで処理内容を確認する
  • よくある作りに対する理解が乏しい
    • 使う事になったソフトウェアに「深入り」することが重要
    • 内部の構造や拡張ポイント、設計の指針などを理解する
  • ライブラリの確認をする
    • あるものは使い、無いものを作ることはソフトウェア開発の大原則の一つ

参考