Changes between Version 2 and Version 3 of standard


Ignore:
Timestamp:
05/02/2012 09:55:03 AM (14 years ago)
Author:
chenyang
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • standard

    v2 v3  
    600600程序中直接写出的中文内容,应充分保证书面语的特征:语言通顺、简洁、得体、无歧义。应彻底杜绝认为直接写提示语言是临时性操作的想法,反复推敲,并总结之前提示语言的特征规范,加以应用。良好的语言文字表达能力,是每个优秀程序员必须具备的基本素质之一。 
    601601 
    602 ===代码重用=== 
     602=== 代码重用 === 
    603603代码的有效重用可以减少效率的损失与资源的浪费。在开发软件项目时为了避免重复劳动和浪费时间。开发人员应尽量提高现有代码的重用率,同时将更多的精力用在新技术的应用和新功能的创新开发上面。 
    604604 
    605 :*在需要多次使用代码,并且对于您希望实现的任务没有可用的内置函数时,不吝啬定义函数或类。开发者须根据功能、调用情况,将函数和类放置于相应的class中。超过3行,实现相同功能的程序切勿在不同程序中多次出现,这是无法容忍和回避的问题; 
    606 :*在任何时候都不要出现同一个程序中出现两段或更多的相似代码或相同代码,即便在不同程序中,也应尽力避免。开发者应当总是有能力找到避免代码大段(超过10行)重复或类似的情况。 
     605* 在需要多次使用代码,并且对于您希望实现的任务没有可用的内置函数时,不吝啬定义函数或类。开发者须根据功能、调用情况,将函数和类放置于相应的class中。超过3行,实现相同功能的程序切勿在不同程序中多次出现,这是无法容忍和回避的问题; 
     606* 在任何时候都不要出现同一个程序中出现两段或更多的相似代码或相同代码,即便在不同程序中,也应尽力避免。开发者应当总是有能力找到避免代码大段(超过10行)重复或类似的情况。 
    607607 
    608608'''需要强调的是,本部分虽然篇幅较短,但却是十分需要经验,并将花费开发者大量时间和精力去进行优化的部分,任何产品开发者必须时刻清楚和理解代码重用的重要性和必要性,切实在增强产品效率、逻辑性和可读性上下功夫,这是一名优秀软件开发者所必须具备的基本素质。''' 
     
    644644* 任何类型的数据表,字段空间应当本着足够用,不浪费的原则,数值类型的字段取值范围见下表: 
    645645 
    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  
    669652 
    670653== SQL语句 == 
     
    712695同样以上面的SQL语句为例,最优的当table表的记录达到百万甚至千万级后,可以明显的看到索引优化带来的速度提升。 
    713696依据上面条件优化和索引优化的两个原则,当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|| 
    726703最优索引:INDEX abc (b, a, c) 
    727 原因:b<’1’作为第一条件可以先过滤掉75%的结果。如果以a>’0’作为第一条件,则只能先过滤掉25%的结果<br/>'''注意:''' 
     704原因:b<’1’作为第一条件可以先过滤掉75%的结果。如果以a>’0’作为第一条件,则只能先过滤掉25%的结果[[BR]]'''注意:''' 
    728705* 字段c由于未出现于条件中,故条件顺序优化与其无关 
    729706* 最优索引由最优条件顺序得来,而非由例子中的SQL语句得来 
    730707* 索引并非修改数据存储的物理顺序,而是通过对应特定偏移量的物理数据而实现的虚拟指针 
    731 |} 
    732708 
    733709EXPLAIN语句是检测索引和查询能否良好匹配的简便方法。在phpMyAdmin或其他MySQL客户端中运行EXPLAIN+查询语句,例如EXPLAIN SELECT * FROM table WHERE a>’0’ AND b<’1’ ORDER BY c;这种形式,即使得开发者无需模拟上百万条数据,也可以验证索引是否合理,相关细节请参考MySQL说明。 
     
    749725= 文件与目录 = 
    750726== 文件命名 == 
    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作为扩展名。 
    759735 
    760736== 目录命名 == 
     
    766742* 附件目录等敏感目录,要在程序中实现相应功能,当新建下级目录时,必须自动写入一个空的index.htm文件,以避免新建目录被索引的问题。 
    767743 
     744