精华内容
下载资源
问答
  • 代码规范七大原则
    2021-08-02 21:25:37

    1 单一原则

    不管是类、接口、方法,职责要单一,降低耦合

    2 开闭原则

    开是指可以新增代码,闭是指新增代码不能涉及到修改原有的代码

    3 替换原则

    子类可以替换他的父类,也就是子类(尽量)不需要重写父类的方法

    4 依赖倒置

    高层模块底层模块依赖于抽象,而不是高层模块依赖底层模块
    细节依赖于抽象

    5 接口隔离原则

    一个类对另一个类存在依赖关系,应该使用最小接口来隔离使用

    6 迪米特法则

    一个对象对其他对象,保持知道其他对象最少的信息

    7 合成复用原则

    一个类使用另一个类的代码,尽量不使用继承,而是合成

    更多相关内容
  • HTML/CSS 代码开发规范文档 上海来去网络信息科技有限公司 HTML/CSS 代码开发规范文档 文件状态 文件标识 RQ Report [ ] 草稿 当前版本 V 1.0 [ ] 正式发布 作 者 陈冬明 [ ] 正在修改 完成日期 2011-04-13 上海来去...
  • 代码规范化的七大原则

    千次阅读 2021-12-07 16:40:03
    代码规范化的七大原则 代码规范化基本上有七大原则,体现在空行、空格、成对书写、缩进、对齐、代码行、注释七方面的书写规范上。 空行 定义变量后要空行。尽可能在定义变量的同时初始化该变量,即遵循就近原则。...

    代码规范化的七大原则

    代码规范化基本上有七大原则,体现在空行、空格、成对书写、缩进、对齐、代码行、注释七方面的书写规范上。

    空行

    1. 定义变量后要空行。尽可能在定义变量的同时初始化该变量,即遵循就近原则。如果变量的引用和定义相隔比较远,那么变量的初始化就很容易被忘记。若引用了未被初始化的变量,就会导致程序出错。
    2. 每个函数定义结束之后都要加空行。
    3. 两个相对独立的程序块、变量说明之后必须要加空行。比如上面几行代码完成的是一个功能,下面几行代码完成的是另一个功能,那么它们中间就要加空行。这样看起来更清晰。

    空格

    1. 关键字之后要留空格。像 const、case 等关键字之后至少要留一个空格,否则无法辨析关键字。像 if、for、while 等关键字之后应留一个空格再跟左括号(,以突出关键字。

    2. 函数名之后不要留空格,应紧跟左括号(,以与关键字区别。

    3. (向后紧跟;),;这三个向前紧跟;紧跟处不留空格。

    4. ,之后要留空格。如果;不是一行的结束符号,其后要留空格。

    5. 赋值运算符、关系运算符、算术运算符、逻辑运算符、位运算符,如 =、==、!=、+=、-=、* =、/=、%=、>>=、<<=、&=、=、|=、>、<=、>、>=、+、-、*、/、%、&、|、&&、||、<<、>>、 等双目运算符的前后应当加空格。

    6. 单目运算符 !、~、++、--、-、*、& 等前后不加空格。

      注意:

      • 这里的“-”和规则五里面的“-”不同。这里的“-”是负号运算符,规则五里面的“-”是减法运算符。
      • 这里的“ * ”和规则五里面的“ * ”也不同。这里的“ * ”是指针运算符,规则五里面的“ * ”是乘法运算符。
      • 这里的“&”和规则五里面的“ & ”也不同。这里的“ & ”是取地址运算符,规则五里面的“ & ”是按位与运算符。
    7. 像数组符号[]、结构体成员运算符.、指向结构体成员运算符->,这类操作符前后不加空格。

    8. 对于表达式比较长的 for 语句和 if 语句,为了紧凑起见,可以适当地去掉一些空格。但 for 和 if 后面紧跟的空格不可以删,其后面的语句可以根据语句的长度适当地去掉一些空格。例如:for (i=0; i<10; i++)for 和分号后面保留空格就可以了,=<前后的空格可去掉。

    成对书写

    成对的符号一定要成对书写,如 ()、{}。不要写完左括号然后写内容最后再补右括号,这样很容易漏掉右括号,尤其是写嵌套程序的时候。

    缩进

    缩进是通过键盘上的 Tab 键实现的,缩进可以使程序更有层次感。原则是:如果地位相等,则不需要缩进;如果属于某一个代码的内部代码就需要缩进。

    对齐

    对齐主要是针对大括号{}说的:

    1. {}分别都要独占一行。互为一对的{}要位于同一列,并且与引用它们的语句左对齐。
    2. {}之内的代码要向内缩进一个 Tab,且同一地位的要左对齐,地位不同的继续缩进。

    代码行

    1. 一行代码只做一件事情,如只定义一个变量,或只写一条语句。这样的代码容易阅读,并且便于写注释。
    2. if、else、for、while、do 等语句自占一行,执行语句不得紧跟其后。此外,非常重要的一点是,不论执行语句有多少行,就算只有一行也要加{},并且遵循对齐的原则,这样可以防止书写失误。

    注释

    C语言中一行注释一般采用//…,多行注释必须采用/*…*/。注释通常用于重要的代码行或段落提示。在一般情况下,源程序有效注释量必须在 20% 以上。虽然注释有助于理解代码,但注意不可过多地使用注释。

    1. 注释是对代码的“提示”,而不是文档。程序中的注释不可喧宾夺主,注释太多会让人眼花缭乱。
    2. 如果代码本来就是清楚的,则不必加注释。
    3. 边写代码边注释,修改代码的同时要修改相应的注释,以保证注释与代码的一致性,不再有用的注释要删除。
    4. 当代码比较长,特别是有多重嵌套的时候,应当在段落的结束处加注释,这样便于阅读。
    5. 每一条宏定义的右边必须要有注释,说明其作用。
    展开全文
  • Java设计模式之七大设计原则

    千次阅读 2022-04-28 01:28:48
    一、设计模式七大原则 设计模式的目的: 代码可重用性:相同功能的代码,不用多次编写。 可读性:编程规范性,便于其他程序员的阅读和理解。 可扩展性:当需要增加新的功能的时候,非常方便,称为可扩展性。 可靠...

    Java设计模式之七大设计原则

    本文对Java设计模式中的七大设计原则进行汇总介绍,提炼最核心的概念。

    设计模式总结笔记

    一、设计模式七大原则

    设计模式的目的:

    • 代码可重用性:相同功能的代码,不用多次编写。
    • 可读性:编程规范性,便于其他程序员的阅读和理解。
    • 可扩展性:当需要增加新的功能的时候,非常方便,称为可扩展性。
    • 可靠性:当我们新增功能后,对原来的功能没有影响。
    • 使程序呈现高内聚、低耦合特性。
    1.1、单一职责原则: 每个类只负责自己的事情,而不是变成万能的

    不遵守单一职责原则:
    在这里插入图片描述
    对类来说的,就是一个类应该只负责一项职责。

    比如:UserDao类,就只处理用户持久层的方法即可。

    在类上遵守单一职责:
    在这里插入图片描述
    对方法来说,一个方法也只做一种事,或者一个类型的事。

    在方法上遵守单一职责原则:
    在这里插入图片描述
    单一职责主要是降低类的复杂度,一个类只负责一项职责。
    提高类的可读性和可维护性。
    降低变更引起的风险。

    1.2 接口隔离原则:各个类建立自己的专用接口,而不是建立万能接口

    接口隔离,就是说一个类不要去依赖它不需要的接口,就是类之间的依赖应该建立在最小接口上。

    比如:
    在这里插入图片描述

    各个类在不需要全部的方法的情况下,实现接口,就会导致实现不需要的方法,因此需要分解。
    在这里插入图片描述
    这样,只实现自己需要的就可以了。

    1.3 依赖倒转原则:面向接口编程,而不是面向实现类

    基本介绍:

    1. 高层模块不应该依赖低层模块,二者都应该依赖其抽象
    2. 抽象不应该依赖细节,细节(实现)应该依赖抽象
    3. 依赖倒转(倒置)的中心思想是面向接口编程
    4. 依赖倒转原则是基于这样的设计理念:相对于细节的多变性,抽象的东西要稳定的多。以抽象为基础搭建的架构比以细节为基础的架构要稳定的多。在java中,抽象指的是接口或抽象类,细节就是具体的实现类
    5. 使用接口或抽象类的目的是制定好规范,而不涉及任何具体的操作,把展现细节的任务交给他们的实现类去完成

    总结: 我们使用依赖倒转原则的目的就是使用接口或者抽象类去定义规范。我们只需要依赖接口就行了。需要实现拓展的功能直接交给子类去完成,接口可以实现统一管理。如下:

    定义接口:
    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-2a1h2yS0-1651080509536)(images/image-20220427180308801.png)]
    子类实现:
    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-fKsqHyMP-1651080509537)(images/image-20220427180325767.png)]
    依赖接口:
    >[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-chF4mVov-1651080509537)(images/image-20220427180340243.png)]
    使用:
    >[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-PqRCte6v-1651080509538)(images/image-20220427180355592.png)]
    依赖关系传递的三种方式和应用案例:

    1. 接口传递
    2. 构造方法传递
    3. setter方式传递

    依赖倒转原则的注意事项和细节:

    1. 低层模块尽量都要有抽象类或接口,或者两者都有,程序稳定性更好.
    2. 变量的声明类型尽量是抽象类或接口, 这样我们的变量引用和实际对象间,就存在一个缓冲层,利于程序扩展和优化
    3. 继承时遵循里氏替换原则
    1.4 里氏替换原则:继承父类而不去改变父类

    基本介绍:

      1. 所有引用基类的地方必须能透明地使用其子类的对象。
      2. 在使用继承时,遵循里氏替换原则,在子类中尽量不要重写父类的方法。
      3. 里氏替换原则告诉我们,继承实际上让两个类耦合性增强了,在适当的情况下,可以通过聚合,组合,依赖 来解决问题。
    

    >  [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-3A3sg1sd-1651080509538)(images/image-20220427192445590.png)]
    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-dxWLUTgK-1651080509539)(images/image-20220427192516205.png)]
    在这里插入图片描述

    1.5 开闭原则:拓展新类而不是修改旧类

    基本介绍:

      1. 开闭原则是编程中最基础、最重要的设计原则。
      2. 一个软件实体类,模块和函数应该对扩展开放(对提供方),对修改关闭(对使用方)。用抽象构建框架,用实现扩展细节。
      3. 当软件需要变化时,尽量通过扩展软件实体的行为来实现变化,而不是通过修改已有的代码来实现变化。
      4. 编程中遵循其它原则,以及使用设计模式的目的就是遵循开闭原则。
    

    总结: 使用开闭原则,就是要灵活使用抽象类和接口。以绘制图形为例:

    • 声明抽象类:
      >   [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-UAhDrjMA-1651080509541)(images/image-20220428002706805.png)]

    • 让子类去实现
      >   [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-E7ADUcpa-1651080509541)(images/image-20220428002732830.png)]

    • 使用基类去调用(多态)
      [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-YWs4zvzW-1651080509542)(images/image-20220428002830621.png)]

    • 调用

    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-WEFVL6kL-1651080509542)(images/image-20220428002848632.png)]

    这样的实现,我们在拓展的时候只需要拓展新的类即可,不会对原有的类进行修改。遵守开闭原则。

    总结: 其它设计原则的设计其实也是有遵守开闭原则的。

    1.6 迪米特法则:无需直接交互的两个类,如果需要交互,使用中间者

    基本介绍:

      1. 一个对象应该对其他对象保持最少的了解。
      2. 类与类关系越密切,耦合度越大。
      3. 迪米特法则又叫最少知道原则,即一个类对自己依赖的类知道的越少越好。也就是说,对于被依赖的类不管多么复杂,都尽量将逻辑封装在类的内部。对外除了提供的public方法,不对外泄露任何信息。
      4. 迪米特法则还有一个更简单的定义: 只与直接的朋友通信。
      5. 直接的朋友: 每个对象都会与其他对象有耦合关系,只要两个对象之间有耦合关系,我们就说这两个对象之间是朋友关系。耦合的方式很多,依赖,关联,组合,聚合等。其中,我们称出现在成员变量,方法参数,方法返回值中的类为直接的朋友,而出现在局部变量中的类不是直接的朋友。也就是说,陌生的类最好不要以局部变量的形式出现在类的内部。
    

    总结: 如何很好的实现迪米特法则,把握核心点。

    • 类的直接朋友:出现在成员变量、方法参数、方法返回值中的类。
    • 类的非直接朋友:出现在局部变量中的类。

    因此,迪米特法则就是要优化类的非直接朋友,一个类里面最好就是只有直接朋友,而没有非直接朋友,所以,遵守迪米特法则,直接将非直接朋友进行优化即可。

    1.7 合成复用原则:优先组合,其次继承

    总结: 原则是类之间尽量使用合成/集合的方式,而不是使用继承。
    在这里插入图片描述

    二、UML核心类图知识

    2.1 类之间的关系

    依赖: 只要在类中用到了对方,那么他们之间就存在依赖关系。谁依赖谁,箭头就指向谁。以下案例都可以表示依赖关系。(虚线加箭头)

    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-lhiRVGst-1651486701686)(images/image-20220502174155080.png)]

    总结:

    • 类中用到了对方
      • 类的成员属性
      • 方法的返回类型
      • 方法接收的参数类型
      • 方法中使用到

    泛化(继承): 是依赖关系的特例。继承谁就指向谁。(实线+空心三角形)

    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-K4ljSKCY-1651486701687)(images/image-20220502175948249.png)]

    实现: 实现就是实现接口,实现谁指向谁。(虚线+空心三角形)

    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-uUNS53eT-1651486701687)(images/image-20220502180255254.png)]

    关联: 是依赖关系的特例。(实线)

    关联具有导航性:即单向关联、双向关联。

    单向关联:A关联B B不关联A

    双向关联:A关联B B关联A

    聚合: 表示整体与部分之间的关系,整体与部分是可以分开的,具体到类中就是可以在需要的时候去设置这个对象。是关联关系的特例。(实线+空心菱形)

    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-7zeypmqR-1651486701688)(images/image-20220502181109688.png)]

    组合: 也是整体与部分的关系,(聚合关系的升级,是关系的加强)表示的是不可分离的关系,也就是直接将对象创建到类中。(实线+实心菱形)

    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-GWpLssNF-1651486701689)(images/image-20220502181508620.png)]

    展开全文
  • 设计软件的几个原则,这个也是设计模式的精髓所在
  • 前端代码风格规范

    千次阅读 2018-07-25 09:54:45
    规范目的:为了提高工作效率,便于后台人员添加功能及前端后期优化维护,输出高质量的文档,在网站建设中,使结构更加清晰,代码简明有序,有一个更好的前端架构。 规范基本准则:符合web标准,使用具有语义的标签...

    规范目的:为了提高工作效率,便于后台人员添加功能及前端后期优化维护,输出高质量的文档,在网站建设中,使结构更加清晰,代码简明有序,有一个更好的前端架构。

    规范基本准则:符合web标准,使用具有语义的标签,使结构、表现、行为分离,兼容性优良。页面性能优化,代码简洁、明了、有序,尽可能的减少服务器的负载,保证最快的解析速度。

    一、文件规范

    1.1 HTML部分

      1.1.1 建包问题

        文件均归档至约定的目录中,建包格式如下:针对 Vue + iView技术栈

        

               注意:所有的页面、cssimagesassless文件放在components文件夹下,在该文件夹下再做细分,404等统一的错误页面放到error文件夹中,路由文件放到router文件夹下,服务层接口调用放在services文件夹下,工具类封装放在utils文件夹下

      1.1.2 HTML头部编写

        (1) 编码:所有编码均采用xhtml/html,标签必须闭合,编码统一为UTF-8,在多语言的网站建议添加<html lang="zh-CN">,说明内容是以中文显示和阅读为基础的

        (2) 语义化:正确使用标签,充分利用无兼容性问题的html自身标签

        (3) 文件头部head内容:

          • title: 需要添加标题

          编码: charset=UTF-8

          • meta: 可以添加descriptionkeywords内容

    1.2 CSS部分

      1.2.1 CSS种类及其命名

        可以将CSS样式表分为三类:全局样式表、模块通用样式表和独立样式表

          • 全局样式表常用命名:public.css

          • 模块通用样式表命名:模块名_basic.css

          • 独立样式表:模块名_页面名.css

      1.2.2 CSS引入

        CSS文件引入可通过外联或者内联方式引入

      • 外联方式

      • 内联方式

        

        注意:linkstyle标签都应该放入head中,原则上,不允许在html上直接写样式。避免在CSS中使用@import,嵌套不要超过一层。

     

    二、注释规范

    2.1 顶部文档注释(推荐使用)

    1 /*

    2 * @description: 中文说明

    3 * @author: name

    4 * @update: name(xxxx-xx-xx xx:xx)

    5 */

     

     

     

    2.2 属性注释 

    1 /*Header*/

    2 /*Nav*/

    3 /*Container*/

    4 ...

    5 /*Footer*/

    2.3 功能模块注释

    1 /* module: module1 by 小王 */

    2 ...

    3 /* module: module2 by 小李 */

    2.4 特殊注释

     

     1 /*Color codes

     2 --------------------------------

     3     Red: #e03d3d;

     4     Dark: #424242;

     5     Light: #c3c5c0;

     6     blue #e03d3d;

     7 */

     8

     9 /*

    10    默认宽度为1128px

    11 */

    12

    13 /*@group Reset Css*/

    14 /*@group General Definitions*/

    15

    16 /*---------------Typography-----------------*/

    17 /*------------------Sprite--------------------*/

     

      注意:

        每一个文档对应一个文档注释(主要注释内容包括:文档创建人、创建时间、主要内容描述等)

        属性注释说明:可以分CSS属性来进行命名(如:margin/padding值、CSS Hack、全局Hover等)

        功能模块注释说明:分模块来编写CSS样式(如:头部、导航、按钮、页脚等等)

     

     

    三、命名规范

    3.1 如何命名

      • css最好用class来命名,jsid来命名,已做区分

      • idclass的命名应反映该元素的功能或使用通用名称,而不要用抽象的晦涩的命名

    3.2 命名示例

    • .div1{} /* 不推荐;无意义 */
    • .a_green{} /* 不推荐;无意义 */
    • .menu{} /* 推荐;特殊性*/
    • .header{} /* 推荐;通用性*/

    3.3 命名精简

      idclass命名越精简越好,只要足够表达意思,这样有助于理解,同时也能提高代码效率

    • .navigation{} /* 不推荐 */
    • .login_box_inside_con{} /* 不推荐 */
    • .nav{} /* 推荐 */

    3.4 命名嵌套问题

      书写css要注意先后顺序和嵌套问题,从性能上考虑尽量减少选择器的层级

    • .nav ul.list{} /* 不推荐 */
    • .nav .list{} /* 推荐 */

    3.5 注意事项

    • 规则命名中,一律采用小写加下划线的方式
    • 命名中尽量避免使用中文拼音,应该采用更简明有语义的英文单词进行组合
    • 命名注意缩写,但是不能盲目缩写
    • 不允许通过123等序号进行命名
    • 避免classid重名
    • id注意用于标识模块或页面的某一个父容器区域,名称必须唯一,不要随意新建id
    • class用于标识某一个类型的对象,命名必须言简意赅
    • 尽可能提高代码模块的复用,样式尽量用组合的方式
    • 规则名称中不应该包含颜色、定位等与具体显示效果相关的信息,应该用意义命名,而不是结果名称

     

    四、书写规范

    4.1 排版规范

    • 使用4tab来缩进
    • 规则可以写成单行。或者多行,但是整个文件内的规则排版必须统一

      书写风格:

    • 每一个属性值必须添加分号
    • 如果多个属性公用一个样式集,则多个属性必须写成多行形式

    4.2 属性编写顺序(一般遵循显示属性 -> 自身属性 -> 文本属性 -> 其他属性的书写格式)

    • 显示属性:display/list-style/position/float/clear...
    • 自身属性(盒模型):width/height/margin/padding/border
    • 背景:background
    • 行高:line-height
    • 文本属性:color/font/text-decoration/text-align/text-indent/vertical-align/white-space/content...
    • 其他:cursor/z-index/zoom/overflow...
    • CSS3属性:transform/transition/animation/box-shadow/border-radius
    • 如果使用CSS3的属性,如果有必要加入浏览器前缀,则按照-webkit-/-moz-/-ms-/-o-/std的顺序进行添加,标准属性写在最后
    • 链接的样式请严格按照如下顺序添加:a:link -> a:visited -> a:hover -> a:active

      

    4.3 代码性能优化

    • 合并marginpaddingborder-top/-right/-bottom/-left的设置,尽量使用短名称
    • 选择器应该在满足功能的基础上尽量简短,减少选择器嵌套,查询消耗。但是一定要避免覆盖全局样式设置
    • 禁止在css中使用*选择符
    • 0后面不需要单独,比如0px可以省略成00.8px可以省略成.8px
    • 如果可以颜色尽量用三位字符表示,比如#ccc
    • 如果没有边框时,不要写成border:0;应该写成border:none
    • 在保存代码解耦的前提下,尽量合并重复的样式
    • backgroundfont等可以缩写的属性,尽量使用缩写形式
    • 能以背景形式呈现的图片,尽量都写入CSS样式中

    4.4 CSS Hack的使用

      尽量少使用浏览器检测和CSS Hacks,先试试别的解决办法。考虑到代码高效率和易管理,虽然这两种办法能快速解决浏览器解析差异,但应被视为最后的手段。在长期的项目中,允许使用hack只会带来更多的hack,所以尽量少用

    • IE6: _property:value
    • IE6/7: *property:value
    • IE6/7/8/9: property:value\9

    4.5 IE兼容性

      IE支持通过特定的<meta>标签来确定绘制当前页面所应该采用的IE版本,除非有强烈的特殊需求,否则最好是设置edge mode,从而通知IE采用其所支持的最新的模式

        <!-- IE8及以上的版本都会以最高版本IE来渲染页面 -->
        <meta http-equiv="X-UA-Compatible" content="IE=edge">

      注意:X-UA-Compatible这个是IE8的专用标记,用来指定IE8浏览器去模拟某个特定版本的IE浏览器的渲染方式

           <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">中的chrome=1效果是如果安装了GCF,则使用GCF来渲染页面,如果未安装GCF,则使用最高版本的IE内核进行渲染

    4.6 字体规则

    • 为了防止文件合并及编码转换时造成问题,建议将样式中文字体名字改成对应的英文名字,如:黑体(SimHei)、宋体(SimSun)、微软雅黑(Microsoft Yahei)
    • 字体粗细采用具体数值,粗体bold写成700,正常normal写成400
    • font-size必须以px为单位
    • 为了对font-family取值进行统一,更好的支持各个操作系统上各个浏览器的兼容性,font-family不允许在业务代码中随意设置

       

     

    五、其他规范

    • 不要轻易改动全站级CSS和通用CSS库,改动后,要经过全面测试
    • 避免使用filter
    • 避免在CSS中使用expression
    • 避免过小的背景图片平铺
    • 尽量不要在CSS中使用!important
    • 绝对不要在CSS中使用"*"选择符
    • 层级(z-index)必须清晰明确,页面弹窗、气泡为最高级(最高级为999),不同弹窗气泡之间可在三位数之间调整,普通区块为10-9010的倍数;区块展开、弹出为当前父层级上个位增加,禁止层级间盲目攀比
    • 背景图片在情况允许,尽可能使用sprite技术,减小http请求,考虑到多人协作开发,sprite按照模块、业务、页面来划分
    • 页面内部尽量避免使用style属性,CSS放在head标签中,由link标签引入,使页面的结构与表现分离
    • 尽量减少使用floatposition等影响性能的属性,这样可以避免新手在布局时出现的混乱
    • 尽量少使用<br />来断行
    • 不要连续出现多个 (空格),也尽量少使用全角空格(英文字符集下,全角空格会变成乱码),空白应该尽量使用text-indentmaring/padding等方法来实现
    • 排版如果遇到需要首行缩进的处理,可以使用text-indent:2em;
    • 图片如果需要加载就在页面上用img标签写出,并指明宽高,重要的图片必须加上alt属性,给重要的元素和截断的元素上加上title
    • 如果有跳转的地方,统一使用a标签,<a href="#"></a>,需要跳转到新页面,则还需要加上targent="_blank"属性,如果点击的是空链接(#),则会自动将当前页面重置到首端,可以使用"javascript:void()"来替代原来的"#"
    • 分清楚什么情况下jpg/gif/png图片

     

    六、 自适应页面布局(响应式布局,暂不考虑低版本IE兼容性)

    6.1 布局细节

    • 首先头部head中加入meta新标签 

        <!-- viewport的宽度等于物理设备上的真实分辨率,不允许用户缩放,一般主流的web app都是这样设置 -->
        <meta name="viewport" content="width=device-width, initial-scale=1">

    • position:不能使用绝对定位
    • width/height/margin/padding: 不能使用px,应该使用百分比、autoem
    • font: 不能使用绝对大小,应使用em

    6.2 CSS3引入的Media Query模块,可自动探测屏幕宽度

    • 加载相应的CSS文件,建议根据不同的屏幕分辨率,选择应用不同的CSS规则,如:@media screen and (max-width:799px) {...}
    • 图片自适应:img{max-width:100%;}

     

    七、帮助文档

    7.1 全局样式写法(reset css

    7.2 清浮动

      需要清除浮动的地方有:

    • 若子元素浮动,而父元素内容塌陷(也就是没有包住)
    • 布局出现混乱,譬如下一层的跑到上一层去了

      解决办法(四种方法)

    • 给父元素同样适用浮动,保证子元素与父元素浮动后还是在同一层
    • 正确使用overflow:hidden;总所周知,overflow:hidden主要意思是溢出隐藏的意思,但是同样有清浮动的效果
    • 在需要的元素下面添加<div class="clear"></div>CSS中:clear{clear:both;}(不推荐,增加代码,冗余)
    • 使用clearfix来清除浮动(推荐),相当于创建一个隐形的内容为空的块的目标元素来清除浮动

        .clearfix{*zoom:1;} /* 针对IE7 hack,触发IE7haslayout,以清除浮动 */
        .clearfix:before,.clearfix:after{display:table;content:"";line-height:0;}
        .clearfix:after{clear:both;}

    7.3 各大网站的字体样式:

    • Google: font-family:arial, sans-serif;
    • Yahoo: font:13px/1.25 "Helvetica Neue",Helvetica,Arial;
    • Apple: font:12px/18px "Lucida Grande", "Lucida Sans Unicode",Helvetica,Arial,Verdana,sans-serif;
    • Baidu: font:12px arial;
    • taobao: font:12px/1.5 tahoma,arial,'Hiragino Sans GB',\5b8b\4f53,sans-serif;
    • Weibo: font:12px/1.125 Arial,Helvetica,sans-serif;
    • Tencent: font:12px "宋体","Arial Narrow",HELVETICA;
    • Sina Weibo: font:12px/1.3 "Arial","Microsoft YaHei";
    • Sina: font:12px/20px "SimSun","宋体","Arial Narrow",HELVETICA;
    • JD: font:12px/150% Arial,Verdana,"宋体";
    • zhihu: font-family:'Helvetica Neue', Helvetiva,Arial,Sans-serif;

      默认字体样式:

    • 兼容性好:font-family:Helvetica,Tahoma,Arial,Sans-serif;
    • 更接近设计:font-family:Geogia,"Times New Roman",Times,serif;

    7.4 文本多行显示添加省略号(文本溢出省略)

      给需要的标签添加具体宽度限制、white-space:nowrap;text-overflow:ellipsis;overflow:hidden;

    7.5 input框的具体样式

      input框行高问题,一般不需要写line-height,但是在IE8/IE7需要写hack

     

    展开全文
  • 程序员必知--代码规范

    万次阅读 2018-11-17 11:21:04
    首先用我之前的博客中的代码举例子 (C语言编程100例): 第一段代码: #include &lt;stdio.h&gt; int main(){ int i, j, n = 0, a[17] = { 0,1 }, l, r; while (n&lt;1 || n&gt;16){ printf(&...
  • 目 录 1 目的 2 范围 3 注释规范 ...8 代码规范 8.1 代码包的版本号 8.2 代码包的标识 9 代码的控制 9.1 代码库/目录的建立 9.2 代码归档 10 输入控制校验规则 10.1 登陆控制 10.2 数据录入控制
  • java 七大原则

    2019-12-10 17:05:16
    1 开闭原则 :对扩展开放,对修改关闭 在程序需要进行扩展的时候,不去修改原有的代码,而是扩展原有的代码,实现热拔插的效果 2 但一职责原则 :不要存在要让类变更的多个原因 ,也就是每个类应实现单一原则,如若...
  • C语言代码规范

    千次阅读 2018-12-05 15:01:08
    代码规范化的七大原则 代码规范化基本上有七大原则,体现在空行、空格、成对书写、缩进、对齐、代码行、注释七方面的书写规范上。 1) 空行 空行起着分隔程序段落的作用。空行得体将使程序的布局更加清晰。空行不会...
  • JAVA编码规范

    2015-04-16 09:53:57
    JAVA编码规范 规范条例分为“必须”“可选”和“建议”三个级别;其中“必须”是在编码过程中必须满足的,“可选”可以按照项目经理和开发人员把握尺度,“建议”是一些经验性的规范,建议大家遵守。
  • Web前端:11个让你代码整洁的原则(1)
  • 【记录】前端代码规范 规范

    千次阅读 2022-04-21 14:34:50
    1. 命名规范 a.ClassName命名 ClassName的命名应该尽量精短、明确,必须以字母开头命名,且全部字母为小写,单词之间统一使用下划线 “_” 连接 当子孙模块超过4级或以上的时候,可以考虑在祖先模块内具有识辨性的...
  • 对于设计模式中七大原则的理解

    千次阅读 多人点赞 2021-08-28 01:14:28
    使用设计模式能够使我们开发的程序,易维护、可拓展,可复用。但是在23个设计模式的背后,还有7个开发原则去支撑着设计模式,保证23个设计模式能够易维护、可拓展,可...所以这篇文章来解开七大设计原则的神秘面纱。
  • 1.什么是里氏替换原则? 我们都知道,在面向对象编程中有三特性(封装、继承、多态),在这里我们来说 继承 这个东西。 继承包含这样一层含义:父类中凡是已经实现好的方法,实际上是在设定规范和契约,虽然它不...
  • Java开发编程规范.pdf

    2013-01-11 21:38:24
    Java开发编程规范.pdf 讲述java编程规范,有助于规范代码书写和阅读
  • 软件设计的七大原则——超详细

    千次阅读 2020-04-05 21:33:16
    开闭原则(Open Closed Principle,OCP)由勃兰特·梅耶(Bertrand Meyer)提出,他在 1988 年的著作《面向对象软件构造》(Object Oriented Software Construction)中提出:软件实体应当对扩展开放,对修改关闭...
  • 面向对象七大原则

    千次阅读 2021-03-27 22:19:25
    熟练掌握和应用面向对象设计(Object Oriented Design,OOD)7大原则,是初/中级Java工程师向高级/资深工程师进阶的一个必备技能,它可以大大提升程序的可复用性和可维护性,也是重构代码的一大利器。7大设计原则...
  • Web前端:11个让你代码整洁的原则

    千次阅读 2017-10-17 17:34:02
    写Web页面就像我们建设房子一样,地基牢固,房子才不会倒。...我们一起来看一张图片:  上图展示了两段代码,我想大家都只会喜欢第一种,我们先不说其语义,至少他的结构让我们看上去清爽,而第...
  • 设计模式七大原则总结

    千次阅读 2018-09-14 08:49:09
    1.单一职责原则(Single Responsibility Principle) 目的:降低代码复杂度、系统解耦合、提高可读性 含义:对于一个类,只有一个引起该类变化的原因;该类的职责是唯一的,且这个职责是唯一引起其他类变化的原因。 ...
  • 代码的好味道和坏味道之七大设计原则
  • 深入理解设计模式-设计模式七大原则

    万次阅读 多人点赞 2021-05-26 09:44:41
    深入理解设计模式-设计模式七大原则 文章目录前言一、单一职责原则1.基本介绍2.注意事项和细节二、接口隔离原则1.基本介绍三、依赖倒转原则1.基本介绍2.注意事项和细节四、里氏替换原则1.基本介绍五、开闭原则1....
  • 阿里巴巴代码规范

    千次阅读 2019-03-22 09:27:12
    1、杜绝完全不规范的缩写,严禁使用拼音与英文混合的方式,更不允许直接使用中文的方式。 2、代码中的命名均不能以下划线或美元符号开始,也不能以下划线或美元符号结束。 3、类名使用 驼峰风格,但以下情形例外...
  • 1.什么是依赖倒转原则? 高层模块不应该依赖低层模块,二者都应该依赖其抽象... 使用接口或抽象类的目的是制定好规范,而不涉及任何具体的操作,把展现细节的任务交给他们的实现类去完成。 2.代码案例 package c
  • 代码规范的几个原则

    千次阅读 2010-08-02 15:29:12
    2.函数的对齐格式,要用tab找齐,对于条件语句的对齐格式,函数的算法问题,for() 与foreach()的区别,一些技巧的处理,在操作的时候尽可能少的用到数据库连接,目标是争取用少的代码,简介的代码做同样的事情,考虑...
  • 软件架构-设计原则篇(七大设计原则) 1、软件架构设计原则概述 1.1、软件的可维护性 1、软件的维护 一个好的软件设计可维护性较好的系统,必须能够允许新的设计要求很容易地加入到已有的系统中。 2、具有可维护性的...
  • 1 软件设计模式的七大原则 1.1设计模式的目的 1.2设计模式七大原则 1.3单一职责原则 1.4 接口隔离原则(Interface Segregation Principle) 1.5 依赖倒转原则 1.6 里氏替换原则 1.7 开闭原则 1.8 迪米特法则 ...
  • 设计模式七大原则

    千次阅读 热门讨论 2018-05-29 11:24:33
    设计模式七大原则
  • 软件架构设计的七大原则(附架构资料) 程序媛菲儿2019-06-24 19:05:29 一、开闭原则 开闭原则(Open-Closed Principle OCP)是指一个软件实体,如类、模块和函数应该对扩展开放,对修改关闭。所谓的开始,是用抽象...
  • 面向对象七大设计原则

    千次阅读 2020-06-15 23:49:37
    面向对象设计的七大原则 前言 在软件开发中,为了提高软件系统的可维护性和可复用性,增加软件的可扩展性和灵活性,我们能要尽量根据 7 条原则来开发程序,从而提高软件开发效率、节约软件开发成本和维护成本。 面向...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 36,689
精华内容 14,675
关键字:

代码规范七大原则