seo网站分析,施工合同协议书内容,蓝色科技网站建设,问题谁负责一、变量与注释决定第一印象
1、变量和注释是代码里最接近自然语言的部分#xff0c;其可读性至关重要。 2、即便是同一个算法#xff0c;变量和注释的不同#xff0c;也会给人截然不同的印象。
二、基础知识
1、Python变量赋值语法非常灵活#xff01;
#xff08;1其可读性至关重要。 2、即便是同一个算法变量和注释的不同也会给人截然不同的印象。
二、基础知识
1、Python变量赋值语法非常灵活
1变量解包 动态解包语法中只要使用星号表达式*variables作为变量名就可以贪婪地捕获多个值对象并将捕获到的内容已链表的形式赋值给variables。
data [sam, apple, banana, orange, 100]
user_name, *fruit_names, cnt data
print(furit_names)此时输出的结果为
[ apple, banana, orange]
2单下划线变量名 下划线_既可以作为衣蛾个无意义的占位符用于接受变量在Python交互式命令行中还默认保存了我们输入的上一个表达式的返回值 foo.upper()
FOOprint(_)
FOO2、编写注释的要点
不要用注释来屏蔽代码该删除就删除注释是用来解释“为什么”、而不是用来复述代码应当具有自解释性
3、接口注释不要包含内部细节
接口注释是为使用者而撰写的因此应当简明扼要的描述函数职责而不必包含太多的方法内部细节。
4、可以用Sphinx格式文档或类型注解给变量标明类型
三、变量命名很重要
1、遵守PEP8原则
普通变量采取蛇形命名法max_value常量采取全部大写字母MAX_VALUE仅内部使用为其增加下划线前缀_local_var与Python关键字冲突在末尾添加下划线后缀class_
2、描述性要强
在变量长度允许的范围内变量名所指向的内容描述越准确越好。 当然变量的命名需要考虑其使用场景例如value作为描述性较弱的命名法就很适合某个数学公式的计算结果。
3、要尽量短
利用结合上下文语境的方法尽量缩短变量命名长度一般不要超过4个单词否则就会显得啰嗦。
4、要匹配类型 布尔类型 使用is、has、allow等 int / float类型 释义为数字的单词例如port、age、redius等以_id为结尾的单词例如user_id等以length、count开头或结尾的单词
5、可以使用一两个字母的超短命名法但不要过度使用
6、其他技巧
在同一段代码中不要出现多个相似的变量命名例如user1、user2、user3可以尝试更换单次表达来简化复合变量名例如用is_special替代is_not_normal
四、代码组织技巧
1、按照代码的职责组织代码让变量定义靠近使用
不要在方法一开始就将所有变量定义好什么时候用、什么时候再去定义。
2、适当定义临时变量可以提升代码可读性
很多时候我们会有一个非常长的if判断条件或表达式这个时候我们可以抽象出一个新的可读性强的变量来接收判断条件。 直接翻译业务的代码往往不是好的代码优秀的程序设计要从原始需求分解的基础上进行恰到好处的抽象这样才能满足可读性和可扩展性的要求。
3、不必要的变量会让代码冗余、啰嗦
很多时候我们定义了一个变量后紧接着就将其return了这种情况下变量没有使用、也没有被编辑完全是冗余的。
4、同一作用于内不要有太多变量
正如一个函数长度不应该超过50行一个方法内部也不应该有太多的参数。 当出现参数过多的问题一般可以通过将数据建模提炼为类或者拆分函数来进行解决。
5、空行也是一种“注释”适当的空行可以让代码更易读
在函数内部的段落间按照逻辑块使用空行进行区分能够很大程度提高整体的可读性。
五、代码可维护性技巧
1、保持变量的一致性
名字一致性类型一致性
2、显式优于隐式不要用locals()
虽然locals()方法能批量获取当前作用域所有局部变量但看似简洁的背后却是要求代码阅读者记住所有的变量 “Python之禅”中有一句
Explicit is better than implicit显式优于隐式很好的说明了问题
3、把接口注释当成一种函数设计工作
先写接口注释再去写代码。如果你无法用一句有说服力的注释说明接口就别写任何函数代码此时的接口设计一定是混乱、冗余的。 参考内容《Python工匠——案例、技巧与工程实践》