1番とった
アルバイト
昨日も遅かったものの、何とか朝起きれて8時前ぐらいに出社した。別に意識してなかったけど、今日こそ1番だったみたいだ。
私は家が近いから8時前後が標準で良いね。
メールからアプリへのインポート機能の続き
昨日作りかけてたメールの解析のプロトタイプを作った。参考程度に BTS にアップして、要件の不足内容をヒアリングした。アプリへのインポートは、Java の既存ツールがあったからそれを使おうと思ってたら、全部 Python でやっちゃえと、Python なら30行で書けるよとか言われた gkgkbrbr (注: Java のソースは500行弱ぐらい) 。
冗談はさておき、製品の仕組みを理解するのに有りかなとも思う。2人日の予定だったけど、もう1日か2日くださいと泣きを入れて延ばしてもらった。
最初なので拡張性を考慮して基本設計して、仕様と使い方のドキュメント、テストコードも付けようと思う。ユーティリティツールのような位置付けなので、自由にやったら良いよ的に言ってくれるので、自由にちゃんとやろうと思う。
コードレビュー
同僚から Python のコードレビューを依頼された。お仕事で Python のコードレビューを依頼されたことは初めてだ。前のアルバイト先でもコードレビューは一切なかった。
今のアルバイト先は、コミット前に必ず誰かにコードレビューしてもらうというルールがあるようだ。すごく良い文化だと思う。分かる範囲であーだこーだ言ってみた。
以下のような Python の for else 文があった。
for i in sequences: try: do_something(i) break except: pass else: another_something()
私はお仕事のコードに for else 文を書いたことがないのでちょっと気になった。隣の方に break しなかったら else のブロックが実行されて、break したら else のブロックが実行されない構文なんですが、どう思います?って聞いてみた。
要は for else 文を知らない人がコードを読んだらロジック分かるかな?と気になった。答えてくれた方は知らない構文だったら調べるから構わないよと言ってた。そうかー。
レビュー後に私もちょっと考えてみたけど、代替の良い実装が思い付かなかった。そのために for else 文の仕様はこうなってるんだなーと思い知らされた。それもそうかー。