PEP8规范 当入职一家公司,看到了一份乱糟糟的源码,你是不是心里奔腾着无数的草泥马?当你离职,留给后人的代码又如何呢?与人方便与己方便,规范代码,从我做起。 为了让我们的代码提高可读性,便于后期维护,官方提供了一种规范,这就是PEP8。那么具体的内容是什么呢?下面一起来看看吧。 5.源代码 1.Python核心发布版本中的代码总是以UTF-8格式编码(或者在Python2中用ASCII编码)。 紧跟代码的注释,应有至少两个空格的分割,如下: x = x + 1 # 这是测试数据 10.命名规范 1.命名与python中标识符的命名规则一样,由字母数字下划线组成,且数字不能开头。 当然,规范中还有很多很多条目,这里只列出那些常用的、需要指出的部分。公司一般有自己的规范,严格按照文档进行编码即可。当然一些创业公司可能没有,建议你使用本规范,养成良好的编码习惯,工作中,看着也开心。
关于PEP 8 PEP 8,Style Guide for Python Code,是Python官方推出编码约定,主要是为了保证 Python 编码的风格一致,提高代码的可读性。 官网地址:https://www.python.org/dev/peps/pep-0008/ 关于Autopep8 Autopep8是自动将Python代码格式化为符合PEP 8风格的工具。 它使用pycodestyle工具来确定代码的哪些部分需要被格式化。Autopep8能够修复大部分pycodestyle检测的格式问题。 github地址:https://github.com/hhatto/autopep8 安装: pip install autopep8 使用命令: autopep8 --in-place --aggressive > [files [files ...]] > > Automatically formats Python code to conform to the PEP 8
在工作上,我最近对一个现有的Java项目代码进行了清理。完成之后,我发现了一些反复出现的不规范代码。所以,我把它们整理成了一个列表出来分享给我的同行希望能引起注意并改善代码的质量和可维护性。 这个列表不区分顺序,全部来自一些代码质量检查工具,如 CheckStyle, FindBugs 和PMD。 在Eclipse中格式化源代码并管理import语句 Eclipse提供了自动格式化源代码和管理import语句的功能(并移除未使用的语句)。你可以使用下面的快捷键来使用这些功能。 在代码块周围使用大括号: 永远不要忘记在块类型语句(如:if,for,while)周围使用大括号。这可以减少代码歧义并且避免在你修改代码块的时候产生新的bug。 不推荐 ? 下面的代码: ?
在工作上,我最近对一个现有的Java项目代码进行了清理。完成之后,我发现了一些反复出现的不规范代码。所以,我把它们整理成了一个列表出来分享给我的同行希望能引起注意并改善代码的质量和可维护性。 这个列表不区分顺序,全部来自一些代码质量检查工具,如 CheckStyle, FindBugs 和PMD。 在Eclipse中格式化源代码并管理import语句 Eclipse提供了自动格式化源代码和管理import语句的功能(并移除未使用的语句)。你可以使用下面的快捷键来使用这些功能。 在代码块周围使用大括号: 永远不要忘记在块类型语句(如:if,for,while)周围使用大括号。这可以减少代码歧义并且避免在你修改代码块的时候产生新的bug。 不推荐 ? 下面的代码: ?
在工作上,我最近对一个现有的Java项目代码进行了清理。完成之后,我发现了一些反复出现的不规范代码。所以,我把它们整理成了一个列表出来分享给我的同行希望能引起注意并改善代码的质量和可维护性。 这个列表不区分顺序,全部来自一些代码质量检查工具,如 CheckStyle, FindBugs 和PMD。 在Eclipse中格式化源代码并管理import语句 Eclipse提供了自动格式化源代码和管理import语句的功能(并移除未使用的语句)。你可以使用下面的快捷键来使用这些功能。 在代码块周围使用大括号: 永远不要忘记在块类型语句(如:if,for,while)周围使用大括号。这可以减少代码歧义并且避免在你修改代码块的时候产生新的bug。 不推荐 ? 下面的代码: ?
文章目录 EPE 8规范 PEP 8: W191 indentation contains tabs PEP 8: W292 no newline at end of file PEP 8: W391 0 PEP 8: E303 too many blank lines (2) PEP 8: E402 module level import not at top of file EPE 8规范 PEP 8: W191 indentation contains tabs 因为粘贴来的代码用tab缩进,而现在的代码用space当缩进 解决办法 方法一:Edit -> Convert Indents PEP 8: E303 too many blank lines (2) 太多的行 这个规范对每行代码之间的间隔进行了定义,简单来说: 函数之间,类之间一般要空2行 类方法之间一般空1行 函数/ 方法代码内部每行间隔不超过1行 PEP 8: E402 module level import not at top of file import不在文件的最上面,可能引用之前还有代码,把import引用放到文件的最上部就可以消除警告
代码书写规范不仅能够使自己二次阅读自己的代码时快速上手,也方便其他人阅读和理解,我们应当尽量遵守统一的约定,下面摘录了PEP8 中的部分代码规范样式,供大家参考。 代码布局缩进制表符还是空格? long_function_name(var_one, var_two, var_three, var_four) # 添加4个空格(额外的缩进级别)以区分参数和其他部分(8个空格 禁止在首行使用参数. foo = long_function_name(var_one, var_two, var_three, var_four) # 由于缩进无法区分,需要更多的缩进来区分(8个空格 源文件编码 核心Python发行版中的代码应始终使用UTF-8(或Python 2中的ASCII)。 使用ASCII(在Python 2中)或UTF-8(在Python 3中)的文件不应具有编码声明。
该规范主要参考《谷歌的代码评审指南》 ? commit 的详细描述,可以分成多行 footer 部分只用于两种情况:1、不兼容变动;2、关闭issue 扩展:如果你使用 IDEA 进行编码,可以是使用 git commit template 插件来规范每次提交的 二、评审者 checklist 设计:代码是否经过精心设计并适合你的系统 功能:代码是否符合开发者意图? 复杂性:代码是否可以更简洁?未来其他开发者接手时,代码是否易于理解与易用? 测试:代码是否经过正确且设计良好的自动化测试 命名:开发人员是否为变量、类、方法等选择了明确的名称? 风格:代码是否遵循了代码开发规范 文档:开发人员是否也同步更新了相关文档 在评论前加上“nit:”这样的前缀,表明这是一个优化性的建议,可以不影响本次上线 应在一个工作日内完成评审,并给出意见 评价只针对代码和具体业务流程
标识符命名规范 变量、函数的命名必须要有意义 变量的名称一般用名词 函数的名称一般用动词 2. 操作符规范 // 操作符的左右两侧各保留一个空格 for (var i = 1; i <= 5; i++) { if (i == 3) { break; // 直接退出整个 for 单行注释规范 for (var i = 1; i <= 5; i++) { if (i == 3) { break; // 单行注释前面注意有个空格 } console.log 其他规范 关键词、操作符之间后加空格 ?
前言 Python 学习之旅,先来看看 Python 的代码规范,让自己先有个意识,而且在往后的学习中慢慢养成习惯 目录 一、简明概述 1、编码 如无特殊情况, 文件一律使用 UTF -8 编码 如无特殊情况, 文件头部必须加入#-*-coding:utf-8-*-标识 2、代码格式 2.1、缩进 统一使用 4 个空格进行缩进 2.2、行宽 每行代码尽量不超过 80 个字符(在特殊情况下可以略微超过 ,因此 代码里 多数应该使用 单引号 自然语言 使用双引号 "..." 2.5、编码 文件使用 UTF-8 编码 文件头部加入#-*-conding:utf-8-*-标识 3、import 语句 import 语句应该分行书写 # 正确的写法 import os import """ 文档注释不限于中英文, 但不要中英文混用 文档注释不是越长越好, 通常一两句话能把情况说清楚即可 模块、公有类、公有方法, 能写文档注释的, 应该尽量写文档注释 三、命名规范
1、模块 模块尽量使用小写命名,首字母保持小写,尽量不要用下划线(除非多个单词,且数量不多的情况) # 正确的模块名 import decoder import html_parser # 不推荐的模块名 import Decoder 2、类名 类名使用驼峰(CamelCase)命名风格,首字母大写,私有类可用一个下划线开头 class Farm(): pass class AnimalFarm(Farm): pass class _PrivateFarm(Farm): pa
前端代码规范文件目录规范页面主视图写在 pages/[name]/index.js页面内模块组件,可写在 pages/[name]/[item].js 文件夹,每个文件大于 1000 行请开始拆分公用组件写在 会存在挂链风险,需下载放入本地 public 文件夹主组件为 app.js 或 app.vue,内容主入口为 index.js,启动入口为 main.js(如 electron 或 ssr)HTML 规范尽量不要在 btnSubmit自定义组件命名大驼峰式 PromotionPanel尽量多用 h1~h6 dl/dt/dd cite code 等标签,能提升 SEO 效果通用 <mate> 标签,见 附HEAD 标签规范使用 等原生事件混淆,而用函数或 trigger('updateSubjectList') 事件流每个函数推荐不超过 80 行,如超过请开始拆分函数参数不得超过 4 个,如超过请使用 options 入参进行拓展;已有代码可用包装器函数处理入参在链接中传参时 DOCTYPE html><html lang="zh-cmn-Hans"> <head> <meta charset="utf-<em>8</em>" /> <meta http-equiv="X-UA-Compatible
命名规范 Θ 类文件都以.class.php为后缀,使用驼峰法命名,并且首字母大写,例如 Pay.class.php; Θ 类名和目录_文件名一致。 :返回的结果 代码重构 1.函数或者方法体内的代码尽量控制在一个屏幕内。 4.在每个模块内写个readme文件(用于比较复杂业务的说明或代码说明)。 5.尽量让每个类做自己的事,每个函数做一件事。 正规格式: $a = 1;if(1 == $a){ echo '$a == 1';} 查找表法 之前: /*错误码:4,5,7,8的时候返回状态1,错误码是1,3,6返回状态2*/$error = 总结 本来想把什么设计模式也往常用代码里放置,但是太多了,不太好放。这些只是微部而已!
虽然说实现功能是编程的首要目的,但是在实际开发过程中,代码的可读性也是非常重要的。不同的人有不同的编程习惯和风格,对于一个团队而言,想要高效的协同开发,遵守一个统一的代码规范是非常重要且必要的。 举个例子,开发和维护数据分析的pipeline可以说的上是生信工程师的日常了,对于这样一个需要长期维护的项目而言,在开发阶段,遵循统一的代码规范,可以将任务拆分,分配给团队的不同人员进行开发,提高效率; 这一切的基础就是统一的代码规范,对于python而言,官方的PEP8规范是使用最广泛,认可度最高的代码规范,文档链接如下 https://www.python.org/dev/peps/pep-0008 模块导入 模块的导入应该独占一行,导入同一个模块中的多个方法可以写成一行,示例如下 import os import sys from subprocess import Popen, PIPE 8. 单下划线开头的变量表示模块或者类的私有变量 双下划线开头的变量表示类内私有 双下划线开头,并且双下划线结尾的变量是python的保留变量,比如__all__, 自定义的变量不要采用这样的写法 除了以上几点,PEP8规范还有很多细节
所有的 JavaScript 项目适用同一种规范。 JavaScript 代码规范 代码规范通常包括以下几个方面: 变量和函数的命名规则 空格,缩进,注释的使用规则。 其他常用规范…… 规范的代码可以更易于阅读与维护。 代码规范一般在开发前规定,可以跟你的团队成员来协商设置。 ); 空格与运算符 通常运算符 ( = + - * / ) 前后需要添加空格: 实例: var x = y + z;var values = ["Volvo", "Saab", "Fiat"]; 代码缩进 通常使用 4 个空格符号来缩进代码块: 函数: function toCelsius(fahrenheit) { return (5 / 9) * (fahrenheit - 32); } 不推荐使用 "; 命名规则 一般很多代码语言的命名规则都是类似的,例如: 变量和函数为小驼峰法标识, 即除第一个单词之外,其他单词首字母大写( lowerCamelCase) 全局变量为大写 (UPPERCASE
花了一个月的时间结合几篇博客和书籍写了这套 iOS 代码规范(具体参考底部的参考文献部分)。这套代码规范除了有仅适用于 iOS 开发的部分,还有其他的比较通用性的规范(控制语句,注释等等)。 这篇规范作为会我们 iOS 团队的代码规范,并且还会根据读者的反馈,项目的实践和研究的深入做不定时更新,还希望各位朋友看了多多指正和批评。 这篇规范一共分为三个部分: 核心原则:介绍了这篇代码规范所遵循的核心原则。 通用规范:不局限于iOS的通用性的代码规范(使用C语言和Swift语言)。 iOS 规范:仅适用于iOS的代码规范(使用Objective-C语言)。 一. 核心原则 原则一:代码应该简洁易懂,逻辑清晰 因为软件是需要人来维护的。这个人在未来很可能不是你。 -根据项目经验汇总 高家二少爷:Objective-C高质量代码参考规范
Java代码规范 本Java代码规范以SUN的标准Java代码规范为基础,为适应我们公司的实际需要,可能会做一些修改。本文档中没有说明的地方,请参看SUN Java标准代码规范。 标识符命名规范 1.1 概述 标识符的命名力求做到统一、达意和简洁。 代码格式 用空格字符缩进源代码,不要用tab,每个缩进4个空格。 2.1 源文件编码 源文件使用utf-8编码,结尾用unix n 分格。 2.2 行宽 行宽度不要超过80。 注释规范 3.1 注释 vs 代码 注释宜少二精,不宜多而滥,更不能误导 命名达意,结构清晰, 类和方法等责任明确,往往不需要,或者只需要很少注释,就可以让人读懂;相反,代码混乱,再多的注释都不能弥补。 所以,应当先在代码本身下功夫。 不能正确表达代码意义的注释,只会损害代码的可读性。 过于详细的注释,对显而易见的代码添加的注释,罗嗦的注释,还不如不写。
前言 Python 学习之旅,先来看看 Python 的代码规范,让自己先有个意识,而且在往后的学习中慢慢养成习惯。 目录 ? 一、简要概述 1、编码 如无特殊情况, 文件一律使用 UTF-8 编码 如无特殊情况, 文件头部必须加入#-*-coding:utf-8-*-标识 2、代码格式 2.1、缩进 统一使用 4 个空格进行缩进 2.2、行宽 每行代码尽量不超过 80 个字符(在特殊情况下可以略微超过 80 ,但最长不得超过 120) 理由: 这在查看 side-by-side 的 diff 时很有帮助 方便在控制台下查看代码 == 'blah': do_blah_thing() # 不推荐的写法 if foo == 'blah': do_blash_thing() 6、docstring docstring 的规范中最其本的两点 文档注释以 """ 开头和结尾, 首行不换行, 如有多行, 末行必需换行, 以下是Google的docstring风格示例 # -*- coding: utf-8 -*- """Example docstrings
第一部分 编写灵活、稳定、高质量的HTML代码的规范 一、唯一定律 无论有多少人共同参与同一项目,一定要确保每一行代码都像是唯一个人编写的。 属性的规范名称,并且不要在首尾添加空白符。 简单来说,就是不用赋值。 10.2 Example ? 十一、减少标签的数量 编写 HTML 代码时,尽量避免多余的父元素。 最后一条声明语句后面的分号是可选的,但是,如果省略这个分号,你的代码可能更易出错。 (8)对于以逗号分隔的属性值,每个逗号后面都应该插入一个空格(例如 ,box-shadow)。 十三、代码组织 13.1 注意 (1)以组件为单位组织代码段。 (2)制定一致的注释规范。 (3)使用一致的空白符将代码分隔成块,这样利于扫描较大的文档。 (3)设置文件编码为 UTF-8。 (4)在文件结尾添加一个空白行。
编码规范 统一团队的编码规范,有助于代码的维护。本章是传统意义上的 Style Guideline,目的是统一一些相对主观化的代码风格。 团队约定使用驼峰式命名 拖尾逗号 在 ECMAScript5 里面,对象字面量中的拖尾逗号是合法的,但在 IE8(非 IE8 文档模式)下,当出现拖尾逗号,则会抛出错误。 所以本规范约定一行最多只能有四个链式调用,超过就要求换行。 空行 空白行对于分离代码逻辑有帮助,但过多的空行会占据屏幕的空间,影响可读性。 团队中对于是否应该使用分号,也有许多争论,本规范推荐不使用分号,因为我们认为好的工程师应该知道什么时候该加,什么时候不该加。 相关参考 :semi 代码块空格 一致性是任何风格指南的重要组成部分。 UTF-8 不需要 BOM 来表明字节顺序,因为单个字节并不影响字节顺序。 相信不少同学遇到过 BOM 的坑,这里不多说了,切记不要使用 windows 的记事本改代码!