LoginSignup
5
0

なぜ品質の低いコードを書いてしまうのか

Last updated at Posted at 2019-01-24

コードの品質が低くなってしまう問題

別にマウンティングしたいわけじゃなくて、今私が直面している問題です。
最近書くコードがどうしても品質が低くなってしまうのです。
そこの反省をして、自分自身で分析してみます。

既存のコードがよくわからない

コードを改変して機能を追加するときに、既存のコードがわからないことが多いのです。
もちろん理解してからコードを書くのですが、それまで時間がかかってしまいます。
また、書いたコードに自身が持てません。

なんで理解が難しいのでしょうか?

データ構造を把握していない

データ構造が把握できていないため、書いていることが理解できないことがあります。
これは図に書いて整理するしかないです。

知識が足りない

そもそも知識が足りていないということがあります。
Pythonだとしたら、使ってるライブラリを理解していないだったり、
使ってるMVCフレームワークを使いこなせていないなどがあります。

また、慣れていないパラダイムのコードが理解するのが難しかったりします。
例えば、Pythonでtoolz使っている場合、関数型の書き方に慣れていないと理解が難しかったりします。

コードが入り組んでいる(技術的負債)

これは価値提供を優先しているために、コード品質を犠牲にしていたツケが回ってきたあるあるです。

対策

対策を考えてみました。

ドキュメントにデータ構造を書いておく

DesignDocのようなドキュメントを用意し、ハイレベルアーキテクチャやデータ構造をきちんと書いておくようにしたほうがいいと思ってます。
 ドキュメントがなければ、書くようにします。

わからない部分は素直にわからないと言おう

わからないことは素直に質問します。

得意じゃないことは勉強する

ここは大事です。
ライブラリを使って自分でコードを書いてみる、ライブラリのコードを読んでみる等、常にキャッチアップはしていかないといけません。
勉強は常にしておきます。

技術的負債は少しずつ返済する

負債は負債なので、仕方がないですが、返済計画を立てて少しずつ返済していかないといけないですね。

テストを書く

テストを書くことで品質が上がるわけではありません。ただ、テストを書くことで品質を担保することは重要です。
(テストが描きづらい=コードがよくない)ということなので、テストがかけなかったらそこは要注意です。


書いてみて思ったのは全部当たり前のことでした。
当たり前のことをやっていくことが大事なんですね。
アドバイスがあればお願いしたいです。

5
0
1

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
5
0