他人のソースコードが読みにくい理由

  • このエントリーをはてなブックマークに追加

こんにちは。株式会社8bit 高本です。

最近プログラムばかり作っているので今回はプログラムについて書いてみます。

デザインに関してはこのデザインすごく好き!などデザイナー同士でリスペクトしあっているのを見かけますが、不思議なもので「あいつの書くソースコードが読みやすくてメンテナンスがしやすい!」と褒めているプログラマーをあまり見たことありません。
(もし、いらっしゃったらすいません。単純に強いて褒めないだけなのかもしれませんが、、)

仕事としてプログラムをやっていると、他の人が書いたソースコードのバグ修正や改修をしなければならないことが多々出てきます。

個人的には、他人のプログラムを修正したりするときに、すんなり分かれば良いのですが、処理に違和感を感じてなかなか理解ができず苦戦することが 多いです。

そもそも、他の人が書いたプログラムを理解して修正するということは他人の頭の中の考える順番を読み取るということなので、違和感を感じて当然なのかと思います。

中には「俺ならこんな無駄な処理しねえ!」なんて憤怒を露わにキーボードを叩いている方も結構いらっしゃいます。

大人数で開発するような大規模なシステムだと、関数仕様などについては事前に統一しておくのですが、Webサービスなど少人数で開発している場合だと、完全に作った人の感覚で開発されている場合が多く、内容にも拠りますが、他の人がメンテナンスをせざるを得ない状況になった時、修正や改修するのが結構難しかったります。

そこで、どうしてこんなに他人のプログラムは読みにくいのだろう、、ということについて考えてみました。

特に解決策があるわけではないので、悪しからず。


変数名や関数名の付け方の趣味が違う。

変数名や関数名の名前の付け方の趣向の違いです。
ルールさえきちんと決めていて統一が取れていれば間違いはないのですが、ここで命名の付け方の趣向が出てくることが多く違和感を感じるポイントになるのではないかと思っています。

俺はアンダーバーやハイフンと必ず日付を入れるんだとか、英語にしても略し方の違いなどなど。
人によってかなりこだわりのポイントだったりするので、こういうところでちょっととっつきにくいなどの感情が芽生えてくるのかと。

コメントを付ける基準が自分と違う。

私個人はコメントがふんだんにないと頭の整理が付かないので、コメントを振って頭を整理します。

人によっては、コメントが少なかったり、コメントの意味が分からなかったりすることがあります。
1から10までコメントがあると読みにくいと感じる人、コメントは要所要所あれば良いという人、人によってそれぞれかと思います。

まったくコメントがないのは別ですが、コメントを付けるタイミングもポイントです。

リファクタリングの考えが違う

関数化などして処理を分割する際に、俺ならこの処理は外出しにして関数化する!など処理のりファクタリングは個人の考えによるものです。
ここが一番の読みにくいポイントかと思います。

ここで、「俺ならこうする!」みたいな個人のこだわりや指摘が出てきます。
理解はできるんだけど、そこはもっとこう作ったら良いのに、「作り直してええ!」なんて言っているプログラマーはたくさんいらっしゃいます。


使っているライブラリーやフレームワークの好き嫌い


使っているフレームワークやライブラリの好き嫌いも結構あると思います。

自分が使ったことのないものであれば、まずは理解しないといけませんし、理解したうえでシステムやサービスの仕様に基づく動作の理解をしなければなりませんので、場合によっては結構な労力を伴う場合もあります。

———–

などとまとめてはみましたが、どのポイントも開発した本人にとっては一番都合良く出来ているものです。
ですので、しっかりバグなく動いていれば何が正しいというのは決められないのかと思います。

バグがなく、仕様通りに動作していれば見た目的にはOKなのですが、プログラムにも個性があり、職人同士が集まると動けば良いってもんではなかったりもします。

色々な人のプログラムを見ていると、よく起こすバグの癖、作る人によってカスタマイズの融通がきいたりきかなかったり、作る人の人間性すらプログラムには出ているようにも感じてしまいます。

執筆者:高本

株式会社8bit 取締役の高本です。 社内のWebサービス企画、プログラミングや、売上・請求管理にいたるまで幅広く担当しております。

関連記事

プログラミング

【PHP8】関数を作るときにしっかりと型宣言をするお話

目次1 天国でもあり地獄のようなPHPの変数事情2 関数も型宣言する時代 天国でもあり地獄のようなPHPの変数事情 PHPは昔から良くも悪くも変数の型に対して寛容でした。 いきなり型宣言をせずに使えますし、なんなら $hoge .= “宣言しなくても追加”; ですら怒られないくらいでした。 ただ、PHP5あたりからうっすらとまずいよねってことになり、PHP5系では非推奨、PHP8以降になると、warningとしてしっかりとアラートが出るようになりました […]

プログラミング

【PHP】古いWordPressで絵文字を使えるようにするお話

WordPressはLAMP環境で動くCMSとして昔から有名ですが、昔から使われているサイトの場合、絵文字が使えないことがあります。 今回はそういう場合の絵文字を使えるようにしてみましょう 目次1 MySQLのバージョンを調べる2 テーブルの照合順序を変更する3 最近の事情 MySQLのバージョンを調べる 使えるようにしましょうといいつつ、実は大前提があります。 それはMySQLのバージョンが5.5以降であることです。 それ未満のバージョンは「utf8mb4」にできないため、 […]

Webサイト制作

【さくらのレンタルサーバー】環境ごとにPHPのバージョンを変更するお話

最近何かとAI関係で話題の「さくらインターネット」ですが、レンタルサーバーはコスパもよく、かなり使いやすいサービスだと思います。 特にWordPressなどのLAMP環境に最適化された環境であり、PHPもいろいろなバージョンを選ぶことができます。 変更方法も簡単でコンパネからボタン一つでできるので楽ちんですね。 ただ当然なのですがマルチドメインで運用している場合もすべての環境にPHPのバージョンが一斉に反映されてしまいます。 それはそれで便利なのですが、例えばこの環境のみバー […]

株式会社8bit (エイトビット)

東京都目黒区でWebサイト制作、Webシステム開発などを行っております。
コーポレートサイトやWebサービスの企画・提案を得意としており、自社での経験を元にアイデアをカタチにするお手伝いをさせていただいております。

Web制作に関するご相談はお気軽にどうぞ

弊社に制作をご依頼いただく際の費用感をご確認いただける、
見積りシミュレーションをご用意いたしました。