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

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

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

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

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

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

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

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

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

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

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

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


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

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

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

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

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

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

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

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

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

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


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


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

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

———–

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

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

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

執筆者:高本

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

関連記事

WordPress

WordPressの会員限定記事配信プラグイン「Simple Analytics」をリリースしました!

WordPressのイベントカレンダープラグイン「Simple Analytics」をリリースしました! ※この記事は2024年10月現在の情報です。 目次1 Simple Analyticsとは?2 こんなお悩みにおすすめです3 Simple Analyticsで できること3.1 月別・週別アクセス数3.1.1 確認できる項目3.2 ページ別アクセス数3.3 外部サイトからのアクセス数3.4 地域・デバイス別アクセス数3.5 時間帯別アクセス数3.6 ページ毎の直帰率3. […]

WordPress

WordPressの会員限定記事配信プラグイン「Limited Post Maker」をリリースしました!

WordPressのイベントカレンダープラグイン「Limited Post Maker」をリリースしました! ※この記事は2024年10月現在の情報です。 目次1 Limited Post Makerとは?2 どんなシーンで使える?3 Limited Post Makerで できること3.1 オウンドメディア、ブログの記事を会員のみに配信3.2 会員登録・ログインフォーム3.3 会員情報の管理4 使い方について5 システム要件6 導入のお問い合わせについて Limited P […]

WordPress

WordPressのフォームプラグイン「Easy Form Maker」をリリースしました!

WordPressのイベントカレンダープラグイン「Easy Form Maker」をリリースしました! ※この記事は2024年10月現在の情報です。 目次1 Easy Form Makerとは?2 どんなシーンで使える?3 Easy Form Makerで できること3.1 お問合せフォームを作成3.2 質問を自由に決めてアンケートフォームを作成3.3 Webサイトへの設置はショートコード1行3.4 問合せやアンケート結果をデータベースへ蓄積3.5 複数のフォームを設置するこ […]

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

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

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

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