作者:empty 页数:527 出版社:empty |
这本书的目的是协助你编写出更好的Perl程序:事实上, 就是你可能写出的最佳Perl程序,本书收了256则指导方针,涵盖编码技能的各个方面,包括部署、名称选择、数据和控制结构的选择、程序分解、接设计和实现、模块化、面向对象、钳误处理、测试与调试。这些指导方针的发展和调整历经22年程序设计生涯的锤炼,它们能够共同协调运行,以产生清晰、强健、有效率、可维护以及简明的程序代码。提醒你,这可不容易达到。简明是清晰的天敌,而效率是降低可维护性的因素,此外,为了让程序代码强健所做的防护也会侵蚀清晰、有效率、简明以及可维护性。有时,你就是无法“面面俱到 。
本书并非试图提供一组放诸四海皆准的难一最佳实践。衡量程序代码质量有很多方式,而评价程序代码也有许多方面,因为不同的程序员会有不同的评估观点。每位程序员和每个程序设计团队对何为程序最重要且最不可成缺的属性都有自己的看法,相反地,本书提供的是一组最佳实践:这组最佳实践前后连贯、用途广泛、目标平衡,而且是根据程序编写的真实经验,而不是某人认为程序应该如何打造的象牙塔理论。最重要的是,这组实践可实际运作,而且世界各地已经有众多开发人员在使用它们。如同Perl本身, 这些指导方针是为了协助你把工作做好, 而不是变成开发之路上的绊脚石。如果你是有经验的开发人员,几乎可以肯定你不会喜欢后面所有的建议,你会发现其中有些方针并不自然或者违反直觉:而其他人可能会觉得很死板, 不像Perl, 也许这些方针看起来就像是以不必要的不同方式来编写软件,有别于你长久以来根深蒂固、觉得很舒服的编码习惯。
前言.
第一章最佳实践.
三个目标.
改变习惯.
第二章代码部署.
括号方式.
关键字.
子程序和变量.
内置函数.
键和索引-.
运算符.
分号.
逗号.
代码行的长度.
缩排.
整网
.62
制表符.
块.
组块.
Else.
垂直对齐.
断开长行.
非末端表达式.
按优先级断开.
赋值运算.
三元运算符.
列表.
自动化部署.
第三章命名惯例.
标识符.
布尔值.
引用变量.
数组和散列.
下划线.
大小写.
缩写.
模糊的缩写.
模糊的名称.
实用子程序.
第四章值和表达式.
字符串定界符.
空字符串.
单字符字符串.
转义字符.
目录
常量.
前导零.
长数字.
多行字符串.
Here Document.
Here doc缩排.
Here doc终止符号.
Here doc引号.
未修饰字.
“胖逗号”.
少用逗号.
低优先级运算符.
列表.
列表成员关系.
第五章变量.
词法变量.
包变量.
局域化.
初始化.
标点变量.
标点变量局域化.
匹配变量.
美元符号-下划线.
数组索引.
切片.
切片部署.
切片分离.
第六章控制结构.
if块.
后缀选择器.
其他后级修饰符.
否定控制语句.
C风格的循环.
不必要的索引标示.
必要的索引标示.
迭代器变量.
非词法的循环迭代器.
列表的产生.
列表的选取.
列表的转换.
复杂映射.
列表处理的副作用.
多部分选.
值的切换.
表格式的三元表达式.
do-while循环.
线性编码.
分布式控制.
重做.
循环标签.
第七章说明文档.
说明文档的类型.
.样板文件(boilerplate) .
扩展样板文件.
地点.
集中.
目录
位置.
技术说明文档.
注释.
算法说明文档.
阐明式说明文档.
自卫式说明文档.
指示式说明文档.
推论式说明文档.
校对.
第八章内置函数.
排序.
逆转列表.
逆转标量.
固定宽度的数据.
分隔的数据.
可变宽度的数据.
字符串的求值.
自动化排序.
子字符串.
散列的值.
glob.
睡眠.
map和grep.
实用程序.
第九章子程序.
调用语法.
同名异物.