可読性単語

カドクセイ
1.4千文字の記事
  • 7
  • 0pt
掲示板へ

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

概要

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

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

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

また、わざと難しくソースコードを記述するといった、コンテストも存在したりする。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管理者は転送料金が節約できるというわけである。

関連項目

【スポンサーリンク】

  • 7
  • 0pt
記事編集 編集履歴を閲覧

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

ブルーアーカイブ (単) 記事と一緒に動画もおすすめ!
提供: いったー
もっと見る

この記事の掲示板に最近描かれたお絵カキコ

お絵カキコがありません

この記事の掲示板に最近投稿されたピコカキコ

ピコカキコがありません

可読性

1 ななしのよっしん
2016/11/10(木) 09:36:42 ID: HNvy4jA6q0
この記事自体が可読性皆無っていうネタ
👍
高評価
0
👎
低評価
0

ニコニコニューストピックス