ソフトウェアエンジニアの隣りにいても邪魔でない水準まで短時間で引き上げること.おおむね以下;
- ある程度の書き方や解き方の選択肢が見えている
- どのような条件で引き継いでいるかを理解している
- ある程度の速度でコードが読める
- 他人の気持ちが分かる
「人のコードを読むこと,感性を合わせること」を意識し,「連想する内容を増やし視野を広げる」ことが目的.
コーディングテスト本番を想定してエディタは貧弱な奴にする. → mdべた書きが一番近いか? (LeetCodeのエディタはフォーマットと一括置換とかできる)
- ステップ1.
- 目的: 方法を思いつく.
- 終了条件: 答えを送信して,正解になる.
- 進め方:
- 答えを見ずに考える.
- 5分考えて分からなかったら答えを見て,理解したと思ったら,答えを隠して書く.
- 筆が進まず5分迷ったら,答えを見て,一回全部消してやり直し.
- ステップ2.
- 目的: 自然な書き方を考えて整理する.
- 終了条件: コードを読みやすくするようにできるだけ整えた上で,動くコードになる.
- 進め方:
- 自分が言葉で説明できる&納得してるからソラで書けるくらいになるまで整える.たいてい人にとっても読みやすくなる.
- 読みにくいなら手続きに無理があるか,空で書けないくらいワーキングメモリを酷使しているか.
- 他の人のコードを2つは読んでみる.
- コードを読んでレビューコメントを予想する
- 空で書きにくい書き方を実践してその理由を探るのもよい.
- 以下の点をコメントに残す;
- 講師陣のコメントに想定されること
- 他の人のコードを読んで考えたこと (感性を養う)
- 改善するときに考えたこと
- ステップ3.
- 目的: ステップ2のコードに不自然or高負荷な箇所がないかの検証と,いつでも自然に出せるようにするための素振り.
- 終了条件: 以下の手続きを3回続けて成功する.
- 手続き:
- 成功条件: 全部消したところから,一回もエラーを出さずに,10分以内に正解になるコードを書く. (コード量によっては時間は伸びうる.)
- 失敗条件: エラーが出る,あるいは時間経過.
- ステップ4.
- レビュー依頼と指摘に基づく修正.
- (関連するライブラリの情報収集や再実装.)
- レビュー依頼定型文
お世話になっております.
[Problem-Title] に取り組みました。
レビューをお願いいたします.
問題: [Problem-Link]
PR: [Pull-Request-URL]
言語: Python3
[メンション5名分]