人们常说,基于可维护性、易懂性和使用性等原因,可读性可能是给定代码最重要的质量定义标准。
是什么定义了程序源代码上下文中的可读字?代码可读性有哪些明确的方面?
我希望能提供可读代码的代码示例,以及为什么它是可读的。
发布于 2012-08-30 03:40:41
对我来说,可读性意味着代码在逻辑上很容易遵循。
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)发布于 2012-08-30 03:48:59
http://c0x.coding-guidelines.com/Introduction.pdf的第9节(pg 39)为C语言编码指南提供了一些背景知识。它是社会学和心理学研究的参考著作。它更多地解决了‘为什么代码应该是可读的’的问题,但它确实解决了可读性本身。我觉得它很有趣,虽然在一些地方有点“学术性”。
发布于 2012-08-30 04:15:47
以前也曾回答过类似的问题。例如,请参见https://stackoverflow.com/questions/550861/improving-code-readability。
可读代码是将其意图清楚地传达给读者的代码。无法阅读的代码需要更长的时间才能理解并增加缺陷的可能性。
一些提高可读性的东西:
可以说,唯一最重要的方面是一致性。如果读者知道预期的内容和查看的位置,代码就更容易理解了。例如,如果项目使用了相互冲突的变量命名和注释样式,那么读者就不得不浪费精力学习新的样式和上下文切换。
代码的作者可能是可读性的糟糕判断者,因为他们可能被投入到代码中,或者在问题中太深,以至于不能后退一步,从别人的角度来看待它。代码评审在这里有帮助。
请记住,并不是所有的代码都是可读的。当开发人员使用不熟悉的库时,他们常常不得不匆忙编写代码。可读性差应视为技术债务和重构。
https://softwareengineering.stackexchange.com/questions/162923
复制相似问题