可読性 単語

カドクセイ

1.4千文字の記事
  • twitter
  • facebook
  • はてな
  • LINE

可読性とは、ソースコード読みやすさの標である。

概要

ソフトウェア開発において、考慮しなければならない要素のひとつ。多数の人にとって読みやすいソースコードは可読性が高く、読みにくいソースコードは可読性が低いと形容される。

可読性を高めることは、ソフトウェア開発において「作成者以外の人ソースコードを理解しやすい(従って改変しやすい)」、「バグを埋め込みにくい」といったメリットをもたらす。

但し、こういったメリット無視してわざと難解なソースコードを書いて、自分の実力を誇示するような輩もいる。つまり、はこんな難しいコードを書けるんだぞ。すげーだろー。である。とんでもない⑨である。

また、わざと難しくソースコードを記述するといった、コンテストも存在したりする。IOCCC(International Obfuscated C Code Contest)。日本語に訳すと、際邪悪なCコードコンテストである。

以下のプログラムC言語ソースコードである。

#define P(X)j=write(1,X,1)
#define C 39
int M[5000]={2},*u=M,N[5000],R=22,a[4],l[]={0,-1,C-1,-1},m[]={1,-C,-1,C},*b=N,
*d=N,c,e,f,g,i,j,k,s;main(){for(M[i=C*R-1]=24;f|d>=b;){c=M[g=i];i=e;for(s=f=0;
s<4;s++)if((k=m[s]+g)>=0&&k<C*R&&l[s]!=k%C&&(!M[k]||!j&&c>=16!=M[k]>=16))a[f++
]=s;if(f){f=M[e=m[s=a[rand()/(1+2147483647/f)]]+g];j=j<f?f:j;f+=c&-16*!j;M[g]=
c|1<<s;M[*d++=e]=f|1<<(s+2)%4;}else e=d>b++?b[-1]:e;}P(" ");for(s=C;--s;P("_")
)P(" ");for(;P("\n"),R--;P("|"))for(e=C;e--;P("_ "+(*u++/8)%2))P("| "+(*u/4)%2
);}

このソースコードコンパイルして、実行すると綺麗迷路が出現する。


他方、可読性が下がってもいい場合というのも一応は存在する。

前者のようなニーズに向けた「難読化ツール」も確かに存在する。変数を1文字にしたり、関数名や名前空間を意味のわからない文字列にしたりして解析を妨するという仕組みである。
後者の場合は最小化「minify」と言い、プログラム内部だけで完結する変数関数をできるだけ短い文字列に変換し、インデント改行も全部削って、さらに言語仕様の許す限り省略記法を使うことでプログラムコードの最小化をす。minifyを使うのはWeb上のリソースが多い。HTMLJavaScriptCSSminifyして切り詰めることで転送量が減り、ユーザーはパケット代も浮いてページ表示がまり、Web管理者は転送料金が節約できるというわけである。

関連項目

この記事を編集する

掲示板

おすすめトレンド

ニコニ広告で宣伝された記事

記事と一緒に動画もおすすめ!
新笠松音頭[単語]

提供: にゅにゅ

もっと見る

急上昇ワード改

最終更新:2025/04/26(土) 17:00

ほめられた記事

最終更新:2025/04/26(土) 16:00

ウォッチリストに追加しました!

すでにウォッチリストに
入っています。

OK

追加に失敗しました。

OK

追加にはログインが必要です。

           

ほめた!

すでにほめています。

すでにほめています。

ほめるを取消しました。

OK

ほめるに失敗しました。

OK

ほめるの取消しに失敗しました。

OK

ほめるにはログインが必要です。

タグ編集にはログインが必要です。

タグ編集には利用規約の同意が必要です。