精华内容
下载资源
问答
  • 代码书写规范

    2018-10-23 10:37:44
    代码书写规范

    代码书写规范
    在这里插入图片描述

    展开全文
  • Verilog 代码书写规范

    千次阅读 2018-12-05 10:52:56
    Verilog 代码书写规范 2.5.1 信号命名规则 信号命名规则在团队开发中占据着重要地位,统一、有序的命名能大幅减少设计人员之间的冗余工作,还可便于团队成员代码的查错和验证。比较著名的信号命名规则当推Microsoft...

    Verilog 代码书写规范

    2.5.1 信号命名规则
    信号命名规则在团队开发中占据着重要地位,统一、有序的命名能大幅减少设计人员之间的冗余工作,还可便于团队成员代码的查错和验证。比较著名的信号命名规则当推Microsoft公司的“匈牙利”法,该命名规则的主要思想是“在变量和函数名中加入前缀以增进人们对程序的理解”。例如所有的字符变量均以ch为前缀,若是常数变量则追加前缀c。信号命名的整体要求为:命名字符具有一定的意义,直白易懂,且项目命名规则唯一。对于HDL设计,设计人员还需要注意以下命名规则。

    1.系统级信号的命名

    系统级信号指复位信号,置位信号,时钟信号等需要输送到各个模块的全局信号。系统信号以字符串sys或syn开头;时钟信号以clk开头,并在后面添加相应的频率值;复位信号一般以rst或reset开头;置位信号为st或set开头。典型的信号命名方式如下所示:

    wire [7:0] sys_dout, sys_din;
    wire clk_32p768MHz;
    wire reset;
    wire st_counter;

    2.低电平有效的信号命名

    低电平有效的信号后一律加下划线和字母n。如:

    wire SysRst_n;
    wire FifoFull_n;

    3.过锁存器锁存后的信号

    经过锁存器锁存后的信号,后加下划线和字母r,与锁存前的信号区别。如:

        信号CpuRamRd信号,经锁存后应命名为CpuRamRd_r。
        低电平有效的信号经过锁存器锁存后,其命名应在_n后加r。如:
        CpuRamRd_n信号,经锁存后应命名为CpuRamRd_nr
        多级锁存的信号,可多加r以标明。如:
        CpuRamRd信号,经两级触发器锁存后,应命名为CpuRamRd_rr。 
    

    2.5.2 模块命名规则

    HDL语言的模块类似于C语言中的函数,可采用C语言函数的大多数规则。模块的命名应该尽量用英文表达出其完成的功能。遵循动宾结构的命名法则,函数名中动词在前,并在命名前加入函数的前缀,函数名的长度一般不少于2个字母。HDL模块的命名还需要考虑以下情况:

    1.模块的命名规则

    在系统设计阶段应该为每个模块进行命名。命名的方法是,将模块英文名称的各个单词首字母组合起来,形成3到5个字符的缩写。若模块的英文名只有一个单词,可取该单词的前3个字母。各模块的命名以3个字母为宜。例如:

    Arithmatic Logical Unit模块,命名为ALU。
    Data Memory Interface模块,命名为DMI。
    Decoder模块,命名为DEC。

    2.模块之间接口信号的命名

    所有变量命名分为两个部分,第一部分表明数据方向,其中数据发出方在前,数据接收方在后,第二部分为数据名称。两部分之间用下划线隔离开。第一部分全部大写,第二部分所有具有明确意义的英文名全部拼写或缩写的第一个字母大写,其余部分小写。举例:

        wire CPUMMU_WrReq;
    

    下划线左边是第一部分,代表数据方向是从CPU模块发向存储器管理单元模块(MMU)。下划线右边Wr为Write的缩写,Req是Request的缩写。两个缩写的第一个字母都大写,便于理解。整个变量连起来的意思就是CPU发送给MMU的写请求信号。模块上下层次间信号的命名也遵循本规定。若某个信号从一个模块传递到多个模块,其命名应视信号的主要路径而定。

    3.模块内部信号:

    模块内部的信号由几个单词连接而成,缩写要求能基本表明本单词的含义;单词除常用的缩写方法外(如:Clock->Clk, Write->Wr, Read->Rd等),一律取该单词的前几个字母( 如:Frequency->Freq, Variable->Var 等);每个缩写单词的第一个字母大写;若遇两个大写字母相邻,中间添加一个下划线(如DivN_Cntr);举例:

        SdramWrEn_n;
        FlashAddrLatchEn; 
    

    2.5.3 代码格式规范

    1. 分节书写格式

    各节之间加1到多行空格。如每个always,initial语句都是一节。每节基本上完成一个特定的功能,即用于描述某几个信号的产生。在每节之前有几行注释对该节代码加以描述,至少列出本节中所描述信号的含义。

    行首不要使用空格来对齐,而是用Tab键,Tab键的宽度设为4个字符宽度。行尾不要有多余的空格。

    1. 注释的规范

    使用//进行的注释行以分号结束;使用/* */进行的注释,//各占用一行,并且顶头;例如:

    // Edge detector used to synchronize the input signal;
    对于函数,应该从“功能”,“参数”,“返回值”、“主要思路”、“调用方法”、“日期”六个方面用如下格式注释:
    // 程序说明开始
    // ================================================================//
    // 功能: 完成两个输入数的相加。
    // 参数: strByDelete,strToDelete
    // 输入参数
    // 输出参数
    // 主要思路:本算法主要采用2级流水线完成相加
    // 日期:起始日期,如:2007/8/21.9:40–2007/8/23.21:45
    // 版本:
    // 程序编写人员:
    // 程序调试记录:
    // ================================================================//
    // 模块说明结束
    此外,在注释说明中,需要注意以下细节:
    · 在注释中应该详细说明模块的主要实现思路,特别要注明自己的一些想法,如果有必要则应该写明对想法产生的来由。
    · 在注释中详细注明函数的适用方法,对于输入参数的要求以及输出数据的格式。
    · 在注释中要强调调用时的危险方面,可能出错的地方。
    · 对日期的注释要求记录从开始编写模块到模块测试结束之间的日期。
    · 对模块注释开始到模块命名之间应该有一组用来标识的特殊字符串。如果算法比较复杂,或算法中的变量定义与位置有关,则要求对变量的定义进行图解。对难以理解的算法能图解尽量图解。
    3.空格的使用:

    不同变量,以及变量与符号、变量与括号之间都应当保留一个空格。Verilog关键字与其它任何字符串之间都应当保留一个空格。如:

        always @ ( ...... )
    

    使用大括号和小括号时,前括号的后边和后括号的前边应当留有一个空格。逻辑运算符、算术运算符、比较运算符等运算符的两侧各留一个空格,与变量分隔开来;单操作数运算符例外,直接位于操作数前,不使用空格。使用//进行的注释,在//后应当有一个空格;注释行的末尾不要有多余的空格。例:

    assign SramAddrBus = { AddrBus[31:24], AddrBus[7:0] };
    assign DivCntr[3:0] = DivCntr[3:0] + 4’b0001;
    assign Result = ~Operand;

    4.begin…end的书写规范

    同一个层次的所有语句左端对齐;initial、always等语句块的begin关键词跟在本行的末尾,相应的end关键词与initial、always对齐;这样做的好处是避免因begin独占一行而造成行数太多;如:

    always @ ( posedge SysClk or negedge SysRst ) begin
    if( !SysRst ) DataOut <= 4’b0000;
    else if( LdEn ) begin
    DataOut <= DataIn;
    End
    else
    DataOut <= DataOut + 4’b0001;
    end

    不同层次之间的语句使用Tab键进行缩进,每加深一层缩进一个Tab;在endmodule,endtask,endcase等标记一个代码块结束的关键词后面要加上一行注释说明这个代码块的名称。

    2.5.4 模块调用规范
    在Verilog中,有两种模块调用的方法,一种是位置映射法,严格按照模块定义的端口顺序来连接,不用注明原模块定义时规定的端口名,其语法为:

    模块名 (连接端口1信号名, 连接端口2信号名, 连接端口3信号名,…);

    另一种为信号映射法,即利用“.”符号,表明原模块定义时的端口名,其语法为:

    模块名 (.端口1信号名(连接端口1信号名),
    .端口2信号名(连接端口2信号名),
    .端口3信号名(连接端口3信号名),…);

    显然,信号映射法同时将信号名和被引用端口名列出来,不必严格遵守端口顺序,不仅降低了代码易错性,还提高了程序的可读性和可移植性。因此,在良好的代码中,严禁使用位置调用法,全部采用信号映射法。

    展开全文
  • CSS代码书写规范

    2021-06-06 14:15:48
    文章目录首先感谢乖乖老师悉心提点CSS代码格式空格规范选择器规范属性规范CSS书写顺序CSS书写规范使用CSS缩写属性去掉小数点前的“0”简写命名16进制颜色代码缩写连字符CSS选择器命名规范不要随意使用Id为选择器添加...

    首先感谢乖乖老师悉心提点

    阳光拥抱着雨露,绿树拥抱着鲜花。乖乖老师细心的培养和指导就像一抹暖阳,照亮了我人生的旅途 。在这里祝愿老师儿童节快乐,青春永驻!
    在这里插入图片描述

    好,下面介绍CSS的书写规范

    CSS代码格式

    空格规范

    【强制】 选择器 与 { 之间必须包含空格。

    示例: .selector { }

    【强制】 属性名 与之后的:之间不允许包含空格,:与属性值之间必须包含空格

    示例:

    font-size: 12px;
    

    选择器规范

    【强制】 当一个 rule 包含多个 selector 时,每个选择器声明必须独占一行。

    示例:

    /* good */
    .post,
    .page,
    .comment {
        line-height: 1.5;
    }
    
    
    /* bad */
    .post, .page, .comment {
        line-height: 1.5;
    }
    

    【建议】 选择器的嵌套层级应不大于 3 级,位置靠后的限定条件应尽可能精确。

    示例:

    /* good */
    #username input {}
    .comment .avatar {}
    
    /* bad */
    .page .header .login #username input {}
    .comment div * {}
    

    属性规范

    【强制】 属性定义必须另起一行。

    示例:

    /* good */
    .selector {
        margin: 0;
        padding: 0;
    }
    
    /* bad */
    .selector { margin: 0; padding: 0; }
    

    【强制】 属性定义后必须以分号结尾。(最后一句属性不加;也可以,但是强烈不建议)

    示例:

    /* good */
    .selector {
        margin: 0;
    }
    
    /* bad */
    .selector {
        margin: 0
    }
    

    CSS书写顺序

    1. 位置属性(position, top, right, z-index, display, float等)
    2. 大小(width, height, padding, margin)
    3. 文字系列(font, line-height, letter-spacing, color- text-align等)
    4. 背景(background, border等)
    5. 其他(animation, transition等)

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

    CSS书写规范

    使用CSS缩写属性

    CSS有些属性是可以缩写的,比如padding,margin,font等等,这样精简代码同时又能提高用户的阅读体验。

    abbreviation

    去掉小数点前的“0”

    del-zero

    简写命名

    很多用户都喜欢简写类名,但前提是要让人看懂你的命名才能简写哦!

    name

    16进制颜色代码缩写

    有些颜色代码是可以缩写的,我们就尽量缩写吧,提高用户体验为主。

    color-abb

    连字符CSS选择器命名规范

    1. 长名称或词组可以使用中横线来为选择器命名。

    2. 不建议使用“_”下划线来命名CSS选择器,为什么呢?

      输入的时候少按一个shift键;
      浏览器兼容问题 (比如使用_tips的选择器命名,在IE6是无效的)
      能良好区分JavaScript变量命名(JS变量命名是用“_”)
      这里有一篇破折号与下划线的详细讨论,中文篇:点击查看 英文篇:点击查看

    underline

    不要随意使用Id

    id在JS是唯一的,不能多次使用,而使用class类选择器却可以重复使用,另外id的优先级优先与class,所以id应该按需使用,而不能滥用。

    css-id

    为选择器添加状态前缀

    有时候可以给选择器添加一个表示状态的前缀,让语义更明了,比如下图是添加了“.is-”前缀。

    status-select

    CSS命名规范(规则)

    常用的CSS命名规则

    头:header
    内容:content/container
    尾:footer
    导航:nav
    侧栏:sidebar
    栏目:column
    页面外围控制整体佈局宽度:wrapper
    左右中:left right center
    登录条:loginbar
    标志:logo
    广告:banner
    页面主体:main
    热点:hot
    新闻:news
    下载:download
    子导航:subnav
    菜单:menu
    子菜单:submenu
    搜索:search
    友情链接:friendlink
    页脚:footer
    版权:copyright
    滚动:scroll
    内容:content
    标签:tags
    文章列表:list
    提示信息:msg
    小技巧:tips
    栏目标题:title
    加入:joinus
    指南:guide
    服务:service
    注册:regsiter
    状态:status
    投票:vote
    合作伙伴:partner
    

    注释的写法:

    /* Header */
    内容区
    /* End Header */
    
    

    Id的命名:

    1)页面结构

    容器: container
    页头:header
    内容:content/container
    页面主体:main
    页尾:footer
    导航:nav
    侧栏:sidebar
    栏目:column
    页面外围控制整体佈局宽度:wrapper
    左右中:left right center
    

    2)导航

    导航:nav
    主导航:mainnav
    子导航:subnav
    顶导航:topnav
    边导航:sidebar
    左导航:leftsidebar
    右导航:rightsidebar
    菜单:menu
    子菜单:submenu
    标题: title
    摘要: summary
    

    3)功能

    标志:logo
    广告:banner
    登陆:login
    登录条:loginbar
    注册:register
    搜索:search
    功能区:shop
    标题:title
    加入:joinus
    状态:status
    按钮:btn
    滚动:scroll
    标籤页:tab
    文章列表:list
    提示信息:msg
    当前的: current
    小技巧:tips
    图标: icon
    注释:note
    指南:guild
    服务:service
    热点:hot
    新闻:news
    下载:download
    投票:vote
    合作伙伴:partner
    友情链接:link
    版权:copyright
    

    注意事项:

    1.一律小写;
    2.尽量用英文;
    3.不加中槓和下划线;
    4.尽量不缩写,除非一看就明白的单词。

    CSS样式表文件命名

    主要的 master.css
    模块 module.css
    基本共用 base.css
    布局、版面 layout.css
    主题 themes.css
    专栏 columns.css
    文字 font.css
    表单 forms.css
    补丁 mend.css
    打印 print.css
    
    展开全文
  • 【C#】代码书写规范与命名规范

    热门讨论 2016-11-16 21:27:27
    代码书写规范: 代码书写规则通常对应用程序的功能没有影响,但它们对于改善对源代码的理解是非常有帮助的。 养成良好的习惯对于软件的开发和维护都是很有益的,下面介绍一些代码书写规则· 1、尽量使用接口,...

    代码书写规范:

    代码书写规则通常对应用程序的功能没有影响,但它们对于改善对源代码的理解是非常有帮助的。

    养成良好的习惯对于软件的开发和维护都是很有益的,下面介绍一些代码书写规则·

    1、尽量使用接口,然后使用类实现接口,以提高程序的灵活性;

    2、一行不要超过80个字符;

    3、尽量不要手工更改计算机生成的代码,若必须更改,一定要改成和计算机生成的代码风格一样;

    4、关键的语句(包括声明关键的变量)必须要写注释;

    5、建议局部变量在最接近使用它的地方声明;

    6、不要使用goto系列语句·除非是用在跳出深层循环时;

    7、避免写超过5个参数的方法如果要传递多个参数,则使用结构;

    8、避免书写代码量过大的try-catch模块;

    9、避免在同一个文件中放置多个类;

    10、生成和构建一个长的字符串时·一定要使用StringBuilder类型,而不用String类型;

    11、witch语句一定要有default语句来处理意外情况;

    12、对于if句,应该使用一对“{}”把语句块包含起来;

    13、尽量不使用this关键字引用。


    命名规范:

    命名规范在编写代码中起到很重要的作用,虽然不遵循命名规范,程序也可以运行,但是命名规范可以很直观的了解代码所代表的含义。下面列出一些命名规范,供读者参考:

    1、用Pascal规则来命名方法和类型,Pascal的命名规则是第一个字母必须大写,并且后面的连接词的第一个字母均为大写;

    2、用Camel规则来命名局部变量和方法的参数,Canmel规则是指名称中第一个单词的第一个字母小写,后面的连接词第一个字母均为大写;

    3、所有的成员变量前加前缀“_”;

    4、接口的名称前加前缀“I”;

    5、方法的命名一般为动宾短语;

    6、所有的成员变量声明在类的顶端,用一个换行把它和方法分开;

    7、使用某个控件的值时,尽量命名局部变量。


    修饰符

    可以用3个修饰符修饰Marn方法,分别是public、static和void.

    Public:说明Mam方法是共有的·在类的外面也可以调用整个方法;

    static:说明方法是一个静态方法,即这个方法属于类的本身而不是这个类的特定对象.调用静态方法不能使用类的实例化对象·必须直接使用类名来调用;

    void:此修饰符说明方法无返回值。

     

    标识符及关键字

    标识符是指在程序中用来表示事物的单词,标识符的命名有3个基本规则,分别介绍如下·

    1、标识符只能由数字、字母和下划线组成。

    2、标识符必须以字母或者下划线开头·

    3、标识符不能是关键字(所谓的关键字是指在语言中具有特殊意义的单词,它们被#设定为保留字,不能随意使用)。

     


    展开全文
  • 汇编语言代码书写规范

    千次阅读 2012-12-12 11:35:14
    汇编语言代码书写规范    第1章 文件结构   每个汇编程序通常分为两个文件。一个文件用于保存程序的声明(declaration),称为头文件。另一个文件用于保存程序的实现(implementation),称为定义...
  • java 代码书写规范

    千次阅读 2016-04-26 10:45:06
    当你想让改变你的代码时请从你的书写代码规范做起,其实是一件对我们来说很简单的事,但对我们代码是一种很高的提升。即使你编码很nb但代码没有规范让别人看起来也是很糙。变量,常量的命名 变量的命名 :首字母小写...
  • 书写规范 基础写法 Pascal和驼峰混用,参数用驼峰写法,除参数外,都以Pascal写法为主。 括号建议用换行方式书写 Code 类, 方法, 枚举, public 字段, public 属性, 命名空间的命名规则用:PascalCase. 局部...
  • Python代码书写规范

    千次阅读 2020-02-18 18:22:33
    3.一行确保其不会超过 80 个字符,这有助于小显示器用户阅读,也可以让大显示器能并排显示几个代码文件 4. 使用空行分隔函数和类,以及函数中的大块代码 5. 可能的话,注释独占一行,避免无谓的注释 6. 不要在行尾...
  • 2.3 css 书写规范…3 2.4 html书写规范…7 2.5 JavaScript书写规范…11 2.6 图片规范…12 2.7 注释规范…13 一、规范目的 1.1 概述 为提高团队协作效率, 便于后台人员添加功能及前端后期优化维护, 输出高质量的文....
  • 代码书写规范

    万次阅读 2019-03-20 16:48:37
    代码(Pseudocode)是一种算法描述语言。使用伪代码的目的是为了使被描述的算法... 它以编程语言的书写形式指明算法的职能。相比于程序语言(例如Java, C++,C, Dephi 等等)它更类似自然语言。它是半角式化、不...
  • 前端代码书写规范

    千次阅读 2019-05-24 14:23:14
    JS代码格式规范 js文件, vue文件, 及jsx文件都遵循eslint规范, 而且在.eslintrc.js 对eslint进行一些配置, 我们遵循业界通用代码规范, 去除一些鸡肋的限制, 详情可见[eslint-rules](https://eslint.org/docs/rules/...
  • C++代码书写规范之关于空格的一些建议 写代码的时候添加良好风格的空格可以使代码看上去更整洁,布局更清晰。 函数名之后不要留空格,紧跟左括号,  以与关键字区别。 像 if、 for、 while 等关键字...
  • 网页编程,也就是网页代码的编写,其实也就是编程代码书写,一个好的网站,其网页编码,是比较规范的,条理清晰,格式简洁美观,可读性强,那到底怎样才能规范代码的编写规范,是一个值得大家深思的问题,想想...
  • C/C++源代码书写规范

    千次阅读 2015-05-16 22:28:29
    C/C++源代码书写规范 1. 在.cpp的开头应有一段格式统一的说明,内容包括: a. 文件名 (FileName); b. 简短说明文件功能、用途 (Comment); c. 创建人 (Creater); d. 文件创建时间 (Date)。 例: ////////...
  • 自己在科研中使用MATLAB非常多,但是在代码编写时不注意代码规范,一段时间后就会忘记,自己都不懂,所以参考网上和自己踩过的坑来记录下一些好的经验。 1、命名规范 变量命名用英文,比如windSpeed代表风速; 英文...
  • Java代码书写规范

    千次阅读 2012-08-15 09:23:28
    一、通用规范 1.1命名规范 1. 使用全单词表示 2. 使用贴切的词汇 3. 使用大小写混合 4. 尽量少用缩略词,...1. 增加注释,以确保代码清晰 2. 无需注释的程序,可能也不值得运行 3. 避免修饰性注释 4. 保持注
  • 在一个开发项目中,代码书写规范是非常重要的,特别是对于开发人员较多的项目。好的代码书写规范能确保高质量,减少BUG,并且容易维护。接下来,我们谈谈Joomla! 开发过程中的代码书写规范 Coding Standards缩进与行...
  • 基于.NET项目的代码书写规范要求书本文为下半年为一项目撰写的简要代码书写规范,不尽详尽,但仍有参考价值。但是代码书写规范更重要的是项目组内组员的意识性的提高,根据此项目到目前为止的状况,就此简单规范的...
  • Verilog HDL代码书写规范

    千次阅读 2013-11-16 14:31:21
    规范的目的是提高书写代码的可读性、可修改性、可重用性,优化代码综合和仿真的结 果,指导设计工程师使用VerilogHDL规范代码和优化电路,规范化可编程技术部的FPGA设计输 入,从而做到:①逻辑功能正确,②可快速...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 84,702
精华内容 33,880
关键字:

代码书写规范