カワゴエ・ラボ技術者指南書

サイタマの住宅街に存在するあるラボの研究資料

手順書作成

f:id:kazuun_nabe0128:20200520135729p:plain

インストール手順書、開発環境構築手順書を作るときは左に説明、右に画面イメージを張る。文章だけだと伝わりにくいので「クリックする箇所・ボタン」は明確化する。インストール手順などは画面イメージを張っておくことで標準インストールかカスタムインストールかが後でわかるようにする(障害の切り分けに参考になる)

70歳までプログラマーVer0.1

  1. 困ったらGREPすることで関数を探す
     関数には標準関数とオリジナル関数が存在する。
     関数定義は全てGREPすることで探す。
  2. 処理の呼び出されるタイミングを把握する
     オブジェクトがタップされた時
     初期表示
     ボタン押下
     オブジェクトフォーカス時
  3. 基本はトライ&エラー
     スマートに組めない場合はあらゆるパターンを試す
     (マニュアル読んでできそうなら理解したほうがいい)
  4. バックログを出力して泥臭くコーディングする
     下の例であれば"TEST1"と出力されればIF文に入っている
     IF A == 1 THEN
      PRINT "TEST1"
     ENDIF
     PRINT "TEST2"
  5. マニュアルもいいけど実戦もね
     現場のソースは教科書通りにはいかない
     生のソースを読むが一番血肉になる
  6. まず動かすことを目標とする
     変数名にこだわったり、生産性にこだわるのもいいが
     初見でスマートにやろうと思ってもできるはずもない。
     まずは完成させること
  7. コメントで処理を伝えるのはどの言語でも一緒
     理想はコメントを読むだけで処理がわかること
  8. 自分を出しすぎない
     正解・不正解より現場になじむか、が重要
     フォーマットを無視するとプロジェクトにとっては悪になりえる
     本質がわかっていれば表層的なものは気にならなくなるはず
  9. スコープについて
     変数のスコープ(範囲)についてはどの言語でも共通する要件(機能)である。
     広い、狭い、アクセス制限があるのでそこを押さえておく。
     
     広いスコープ
      どの画面、どの処理からでもアクセスできる変数  グローバル変数とも呼ばれる
     狭いスコープ
      関数内、メソッドないでのみ有効な関数  同じ変数名であっても、ものが違う場合がある
     セッション
      WEBシステムではセッションでログイン情報を持ちまわる  システムが一般的でログイン後は使いまわす  一見するとどこから情報を拾っているかわかりにくいので注意  staticインスタンスについても同様  ※どの言語でもローカル変数とグローバル変数という考え方は存在する   方言、日本語(標準語)、英語(グローバルスタンダード)を使い分けるように
  10. 印刷して解析
     処理がわからない場合は以下を行う
     1.ソースを印刷する
     2.キーとなる変数にマーカを付ける(情報の流れを可視化する)
     3.処理の内容を自分なりに日本語化する(翻訳)
     4.確定した情報か、不確定化を明確にする(?マークを使う)
     5.GOTO文や関数など処理がどこからどこへ飛んでいるかをメモする
  11. 思想を理解する
     プログラムに正解はない
     それぞれが正義でそのどれもが正しい
     その世界を理解し、その世界の正義を知ることが大事
     なんでもエラーにするか、とりあえず動かすか、などの文化を理解すること
  12. プログラムの変化
     C言語Java→InterFarm→Python
     プログラムとしては多種多様なものが存在する運命にあるので
     多言語に対応するのがよい。その中でも伸びそうな(JavaPython)に詳しくなること。
     ひとつのものに強くなるとそのプロジェクトに呼ばれやすくなる。
     要員は”**の言語ができる”で呼ばれるパターンが多いため。