可読性は、保守性、理解のしやすさ、使いやすさに関する理由から、特定のコードの品質を定義する最も重要な尺度であるとよく言われます。
プログラムのソースコードのコンテキストで、Wordの定義読み取り可能は何ですか?どのような決定的な側面がありますか?コードの読みやすさ?
判読可能なコードのコード例と、なぜそれが判読可能であるかについての推論に感謝します。
私にとって可読性とは、コードが論理的にわかりやすいことを意味します。
判読不能:
try:
if item[1][2]=='1':
qtytype='0'
qty=str(item[1][0])
items=item[1][0]
amt='0.0'
tot_amt=str(float(item[1][1])/100)
# tot_amt=str(float(int(item[1][0])*int(item[1][1]))/100)
else:
qtytype='1'
items=item[1][0]
amt='0.0'
tot_amt=str(float(item[1][1])/100)
qty=0
for entry in item[1][4]:
qty+=entry[0]
except TypeError:
eType, eValue, eTraceback = sys.exc_info()
print >> sys.stderr, time.strftime("%Y-%m-%d %H:%M:%S"), str(traceback.format_exception(eType,eValue,eTraceback))
読み取り可能:
item_approved = (item['approved'] == '1' and item['active'] == '1')
if item_approved:
try:
db_item = item.get_db_record(item['id'])
except DoesNotExist:
db_item = item.create_db_record(**item)
item.approve(db_item)
db_item.save()
publish_event(item.events.APPROVAL)
http://c0x.coding-guidelines.com/Introduction.pdf のセクション9(39ページ)は、C言語コーディングガイドラインの背景を示しています。これは、社会学と心理学の研究に関する参考文献です。それは「なぜコードが読めるはずなのか」という問題に対処していますが、可読性自体に対処しています。場所によっては少し「学問的」ではありますが、私はそれが非常に興味深いことに気づきました。
同様の質問が以前に回答されています。たとえば https://stackoverflow.com/questions/550861/improving-code-readability を参照してください。
読み取り可能なコードは、その意図を読者に明確に伝えるコードです。読み取りできないコードは、理解するのに時間がかかり、欠陥の可能性が高くなります。
読みやすさを向上させるいくつかのこと:
間違いなく最も重要な側面は一貫性です。読者が何を期待し、どこを見ればよいか知っていると、コードを理解しやすくなります。たとえば、プロジェクトで競合する変数の命名スタイルとコメントスタイルを使用している場合、読者は新しいスタイルやコンテキストの切り替えを学ぶために精神的な労力を浪費する必要があります。
コードの作成者は、コードに投資しているか、問題を深く理解して一歩下がって他の人の目を通してそれを見ることができないため、読みやすさの判断が難しいかもしれません。コードレビューはここで役立ちます。
すべてのコードが常に読み取り可能であるとは限らないことに注意してください。開発者は、よく知らないライブラリを使用して疲れている場合、急いでコードを書かなければならないことがよくあります。読みやすさが悪い場合は、技術的な負債のように扱い、リファクタリングする必要があります。