代码风格与文件模板

Posted cainingning

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了代码风格与文件模板相关的知识,希望对你有一定的参考价值。

1.文件模板

敢问童鞋们,是否有见过其他人的pycharm代码,上方总有一行“注释”一样的代码?

技术分享图片

既能保留当时写代码的时间,也能指定文件字符编码,竟然还可以有一个署名!作者权呀!技术分享图片

 

因此这部分教程主要介绍如何创建一个Python工程并使其具有Pycharm的代码风格。你将会看到Pycharm使你的源码变得非常简洁美观,带有合适的缩进、空格等等,因此Pycharm也是一款代码质量管理的利器。

打开一个新建的Python文件进行编辑(F4),这个文件中默认有两行代码:作者姓名和工程名称。之所以会出现这两行代码,是因为Python文件在创建时是基于文件模板(官网介绍)进行创建的,因此会预定义这两个变量。

那么如何定义文件模板呢?

在settings > file and code templates > python script 选中,然后写入模板语法!

技术分享图片

模板语法如下:

pycharm官网具体模板语法在这: https://www.jetbrains.com/help/pycharm/file-template-variables.html

# -*- coding:utf-8 -*-
# Author : Oldboy
# Data : $DATE $TIME

那么显示效果如何呢?以后新建python文件后,都会自动添加上自定义的模板内容啦!

技术分享图片

pep8代码风格检查

  写python代码,就得遵循官方定义的规矩,不以规矩就只能是野路子,无门无派。。。

那么python定义了一系列,代码风格规范,也就是pep8规范啦。

>>>>:戳这里,查看具体风格http://zh-google-styleguide.readthedocs.io/en/latest/google-python-styleguide/python_style_rules/

  因此pycharm也提供了pep8代码风格检查,不符合规矩的,都会以波浪线提示有问题!

  输入关键字class,当你开始输入时,Pycharm的拼写提示机制会立即列出选项来帮助你完成代码:

技术分享图片

(参照Pycharm拼写提示来了解Pycharm更多关于拼写提示的信息)

这个红色波浪线标记了下次代码输入的期望位置,在这种情况下,它是一个预输入定义符。键入类名Solver,红色波浪线将会移动到类名之后。如果你将术鼠标指针悬停在波浪线上,将会看到所提示的错误信息("Colon expected"),当然,此时位于右侧滚动栏的红色标志也会给出相同的错误信息。

技术分享图片

聚焦PEP8代码风格检查

  然而,在默认情况下这些警告提醒是不可见的,所以首先需要做的就是提升它们的优先级以进行显示。单击技术分享图片设置按钮,然后在Settings/Preferences对话框中的 Inspections 页面,键入PEP8来找到所有相关选项,在对应的下拉菜单中选中warning选项:

 查找路径:

settings > Editor > Inspections > python > PEP 8 coding style violation

技术分享图片

详解PEP8代码风格

  现在Ptcharm已经能够正常显示它的代码规范,确保你编写的代码格式的完整性。接下来当我们输入下一条语句(例如def demo(self,a,b,c):),Pycharm将根据PEP8的代码规范机制来报告当前存在的格式问题。

 技术分享图片

正如你所见到的那样,Pycharm将其所支持的PEP8规范设置为默认的正规Python代码格式标准。如果你打开inspections的列表,(Ctrl+Alt+S→Inspections),可以看到Pycharm在你的代码中加载了pep8.py工具,用来精确定位你的代码风格问题。

 技术分享图片

Pycharm提供的格式化代码

代码的格式问题是在是太多了,那么如何方便的调整为美观的代码呢?

这里所用到的就是code reformatting了,不妨尝试一下。

为了调用格式化操作,只需按下Ctrl+Alt+L快捷键,或者在主菜单中单击Code→Reformat Code,此时我们惊奇发现所有的PEP8类格式问题都已经消除。

  当然我们可以自定义格式化标准,打开 code style settings对话框,选择指定语言(Python),进行必要的更改即可:

技术分享图片

技术分享图片

以上是关于代码风格与文件模板的主要内容,如果未能解决你的问题,请参考以下文章

VSCode自定义代码片段2——.vue文件的模板

C++:模板实现(代码风格)

Eclipse 中的通用代码片段或模板

vscode代码片段生成vue模板

vscode 用户代码片段 vue初始化模板 Snippet #新加入开头注释 自动生成文件名 开发日期时间等内容

pycharm自定义代码模板