AtCoderやLeetCodeのおかげで実装が早くなった
しばしば競プロは実務に役立たないと言われるが、個人的には全くそんなことはなく、実装が安定して早くなっている。
普段の仕事だと、グルーコードなどと言われるらしいが、すでにあるライブラリやAPIの組み合わせで対処することが多い。このような処理ばかり書いていると、境界値やエッジケースの細かいところまで考察が必要な処理に出くわした際に、明らかにコーディング速度が遅くなり、また脳のスタミナを急速に消耗する。
これ対して、競プロ等のデータ構造やアルゴリズムに関するプログラムを日頃から書いていると、前述のような面倒な処理に直面してもコーディングの効率が落ちない。つまり、競プロ的なプログラミングは、プログラミングの基礎トレみたいな効果がある。
特にこの効果は、仕事のコードよりも、OSSのコードを書いているときに顕著だ。最近はMQTTというネットワークプロトコルのOSSにパッチをよく送っているのだが、このような処理の中では境界値の扱いや、マルチスレッド間の取り合いなどに気をつける必要がある。そのあたりにあまり疲れず気が回る気がしている。
というわけで、引き続き1日1問LeetCodeを続けていく。