Changes between Version 2 and Version 3 of standard
- Timestamp:
- 05/02/2012 09:55:03 AM (14 years ago)
Legend:
- Unmodified
- Added
- Removed
- Modified
-
standard
v2 v3 600 600 程序中直接写出的中文内容,应充分保证书面语的特征:语言通顺、简洁、得体、无歧义。应彻底杜绝认为直接写提示语言是临时性操作的想法,反复推敲,并总结之前提示语言的特征规范,加以应用。良好的语言文字表达能力,是每个优秀程序员必须具备的基本素质之一。 601 601 602 === 代码重用===602 === 代码重用 === 603 603 代码的有效重用可以减少效率的损失与资源的浪费。在开发软件项目时为了避免重复劳动和浪费时间。开发人员应尽量提高现有代码的重用率,同时将更多的精力用在新技术的应用和新功能的创新开发上面。 604 604 605 :*在需要多次使用代码,并且对于您希望实现的任务没有可用的内置函数时,不吝啬定义函数或类。开发者须根据功能、调用情况,将函数和类放置于相应的class中。超过3行,实现相同功能的程序切勿在不同程序中多次出现,这是无法容忍和回避的问题;606 :*在任何时候都不要出现同一个程序中出现两段或更多的相似代码或相同代码,即便在不同程序中,也应尽力避免。开发者应当总是有能力找到避免代码大段(超过10行)重复或类似的情况。605 * 在需要多次使用代码,并且对于您希望实现的任务没有可用的内置函数时,不吝啬定义函数或类。开发者须根据功能、调用情况,将函数和类放置于相应的class中。超过3行,实现相同功能的程序切勿在不同程序中多次出现,这是无法容忍和回避的问题; 606 * 在任何时候都不要出现同一个程序中出现两段或更多的相似代码或相同代码,即便在不同程序中,也应尽力避免。开发者应当总是有能力找到避免代码大段(超过10行)重复或类似的情况。 607 607 608 608 '''需要强调的是,本部分虽然篇幅较短,但却是十分需要经验,并将花费开发者大量时间和精力去进行优化的部分,任何产品开发者必须时刻清楚和理解代码重用的重要性和必要性,切实在增强产品效率、逻辑性和可读性上下功夫,这是一名优秀软件开发者所必须具备的基本素质。''' … … 644 644 * 任何类型的数据表,字段空间应当本着足够用,不浪费的原则,数值类型的字段取值范围见下表: 645 645 646 {|border="1" cellspacing="0" 647 |'''字段类型'''||'''存储空间(b)'''||'''UNSIGNED'''||'''取值范围''' 648 |- 649 |rowspan=2 |tinyint||rowspan=2 | 1|| 否|| -128~127 650 |- 651 |是|| 0~255 652 |- 653 |rowspan=2 |smallint||rowspan=2 |2||否||-32768~32767 654 |- 655 |是||0~65535 656 |- 657 |rowspan=2|mediumint||rowspan=2 |3||否||-8388608~8388607 658 |- 659 |是||0~16777215 660 |- 661 |rowspan=2|int||rowspan=2|4||否||-2147483648~2147483647 662 |- 663 |是||0~4294967295 664 |- 665 |rowspan=2|bigint||rowspan=2|8||否||-9223372036854775808~9223372036854775807 666 |- 667 |是||0~18446744073709551615 668 |} 646 ||字段类型||存储空间(b)||UNSIGNED||取值范围 647 ||tinyint ||0~255 ||否||-128~127 648 ||smallint ||0~65535 ||否||-32768~32767 649 ||mediumint || 0~16777215 ||否|| -8388608~8388607 650 ||int ||0~4294967295 ||否||-2147483648~2147483647 651 ||bigint 0~18446744073709551615 ||否||-9223372036854775808~9223372036854775807 669 652 670 653 == SQL语句 == … … 712 695 同样以上面的SQL语句为例,最优的当table表的记录达到百万甚至千万级后,可以明显的看到索引优化带来的速度提升。 713 696 依据上面条件优化和索引优化的两个原则,当table表的值为如下方案时,可以得出最优的条件顺序方案: 714 {|border="1" cellspacing="0" 715 |字段a||字段b||字段c 716 |- 717 |1||7||11 718 |- 719 |2||8||10 720 |- 721 |3||9||13 722 |- 723 |-1||0||12 724 |- 725 |colspan="3"|最优条件:b<’1’ AND a>’0’ 697 ||字段a||字段b||字段c 698 ||1||7||11 699 ||2||8||10 700 ||3||9||13 701 ||1||0||12 702 || 726 703 最优索引:INDEX abc (b, a, c) 727 原因:b<’1’作为第一条件可以先过滤掉75%的结果。如果以a>’0’作为第一条件,则只能先过滤掉25%的结果 <br/>'''注意:'''704 原因:b<’1’作为第一条件可以先过滤掉75%的结果。如果以a>’0’作为第一条件,则只能先过滤掉25%的结果[[BR]]'''注意:''' 728 705 * 字段c由于未出现于条件中,故条件顺序优化与其无关 729 706 * 最优索引由最优条件顺序得来,而非由例子中的SQL语句得来 730 707 * 索引并非修改数据存储的物理顺序,而是通过对应特定偏移量的物理数据而实现的虚拟指针 731 |}732 708 733 709 EXPLAIN语句是检测索引和查询能否良好匹配的简便方法。在phpMyAdmin或其他MySQL客户端中运行EXPLAIN+查询语句,例如EXPLAIN SELECT * FROM table WHERE a>’0’ AND b<’1’ ORDER BY c;这种形式,即使得开发者无需模拟上百万条数据,也可以验证索引是否合理,相关细节请参考MySQL说明。 … … 749 725 = 文件与目录 = 750 726 == 文件命名 == 751 '''普通文件''' 752 :能够被URL直接调用的程序,例如forum.jsp、index.jsp,直接使用程序名+.jsp的方式命名753 '''函数文件''' 754 :放在jspf目录下以小写.jspf的格式命名书写。函数文件只能被其他文件引用,而不能独立运行。其中不能包含任何流程性的、不属于任何函数的程序代码。755 '''流程性文件''' 756 :此类程序用于接收输入参数和业务逻辑,放在action目录下以动词小写.jsp作为扩展名。只能被其他程序引用,而不能独立运行。757 '''模板文件''' 758 :此类程序用来显示页面,不能存放业务逻辑代码,不是可执行文件,放在templates/下的其他模板目录下,以小写.jsp作为扩展名。727 * 普通文件 728 能够被URL直接调用的程序,例如forum.jsp、index.jsp,直接使用程序名+.jsp的方式命名 729 * 函数文件 730 放在jspf目录下以小写.jspf的格式命名书写。函数文件只能被其他文件引用,而不能独立运行。其中不能包含任何流程性的、不属于任何函数的程序代码。 731 * 流程性文件 732 此类程序用于接收输入参数和业务逻辑,放在action目录下以动词小写.jsp作为扩展名。只能被其他程序引用,而不能独立运行。 733 * 模板文件 734 此类程序用来显示页面,不能存放业务逻辑代码,不是可执行文件,放在templates/下的其他模板目录下,以小写.jsp作为扩展名。 759 735 760 736 == 目录命名 == … … 766 742 * 附件目录等敏感目录,要在程序中实现相应功能,当新建下级目录时,必须自动写入一个空的index.htm文件,以避免新建目录被索引的问题。 767 743 744
![(please configure the [header_logo] section in trac.ini)](http://www1.pconline.com.cn/hr/2009/global/images/logo.gif)