使用pycharm,追求最优的代码。
1、最近追求的是代码0警告,没有任何提示。
怎么追求这样的目标,不需要再去单独使用pylint和flake8这些玩意,只需要看pycharm右边编辑区的竖向滚动条的黄色就可以了。
2、 比较糟糕的就是这样的代码了,不仅是有黄色的提示,更恐怖的是黄色连成实体柱状了,这么多警告真的很恐怖,我接手修改这样的代码时候心里都凉了。

或者这样更恐怖的才200多行就那么多黄色警告

最好的代码是这样,编辑区的右边竖向滚动条没有黄色。

pycahrm的右边就是指导方向,我最近写的时候,是尽量追求0个waning。
3、经常在意右边的黄色个数,不仅可以优化自己的代码pep8风格,有的warning是可以加强对python语言的特性掌握,有的wanings是告诉用户怎么写可以避免运行时的低级错误。
上面那个黄色很多的代码是可以运行的,但就是想一个豆腐渣建筑一样,外观丑陋,而且不稳固,说不定搞什么装修时候或者楼上放重物时候 ,房子就垮了,只能保证目前是可以用的。部分风格空格问题可以用ctrl alt shift L 一键优化的,部分是写得不好,编辑器不可能代替我们直接修改代码文字。
4、一些能加强对python理解的wanings例如:
1)、你写了一个类,类里面使用了实例方法,但方法里面却没有访问任何实例属性和方法,会有黄色提示,那么就要考虑使用staticmethod装饰器了,这是对python的方法什么时候用self,什么时候用calssmethod和staticmethod的理解。
2)、写了一个类,突然在一个非__init__的方法中,冒出self.xx = ‘hello',这是不应该的,即使在实例初始化时候,不确定xx属性是什么值,也要在__init__方法中先写个 self.xx = None,这样一是防止访问出错,二是能让人一下子就看到有哪些实例属性,毕竟python没有学java那样在类名之下去声明有哪些属性和静态属性,确保所有实例变量都必须是在__init__中首次出现是很有必要的。
3)、带if分支的代码,可能压根从没满足过任何一个if分支没有对a赋过值,下面突然print(a),这样很可能造成致命错误。
5、可以抑制黄色警告的办法有,在pycahrm中配置哪些不规范的东西不提醒你,这是永久的,但我不用这种自欺欺人的,别人的pycahrm配置和你不同,打开这个代码照样一堆警告。
临时的抑制黄色警告 可以在产生警告的那一行使用 # NOQA
使用pycharm,追求最优的代码。的更多相关文章
- Spark性能调优之代码方面的优化
Spark性能调优之代码方面的优化 1.避免创建重复的RDD 对性能没有问题,但会造成代码混乱 2.尽可能复用同一个RDD,减少产生RDD的个数 3.对多次使用的RDD进行持久化(ca ...
- PyCharm实现高效远程调试代码
PyCharm实现高效远程调试代码 (薛刚强) 为方便Python代码学习和项目开发,目前选择专业的 IDE 开发工具 ,如 PyCham.针对个人使用的技巧做个笔记,分享给大家,有描述 ...
- 【Spark篇】---Spark调优之代码调优,数据本地化调优,内存调优,SparkShuffle调优,Executor的堆外内存调优
一.前述 Spark中调优大致分为以下几种 ,代码调优,数据本地化,内存调优,SparkShuffle调优,调节Executor的堆外内存. 二.具体 1.代码调优 1.避免创建重复的RDD,尽 ...
- 22 pycharm如何将一段代码同时向左缩进一个tab键
在使用pycharm时,经常会需要多行代码同时缩进.左移,pycharm提供了快捷方式 1.pycharm使多行代码同时缩进 鼠标选中多行代码后,按下Tab键,一次缩进四个字符 2.pycharm使多 ...
- PyCharm 中使用 Pylint 控制代码质量
1) Pylint安装 - Windows下: 直接在 cmd 下使用 pip install pylint 即可(如果 pip 不可用,首先安装最新版 Python,会默认安装 pip,或者找到 p ...
- pyCharm添加自己的快捷代码
1.首先打开pyCharm 2.打开Settings 3.输入live点击打开 Templates 4.选中python点击"+"号 5.选择Live Template 6.以打开 ...
- ubuntu16系统中pycharm下使用git将代码提交到github仓库
1 在系统中安装git,在terminal中输入以下命令 sudo apt-get update sudo apt-get install git 2 对git进行配置,在terminal中输入以下命 ...
- Pycharm配置autopep8:自动调整代码为PEP8风格
关于PEP 8 PEP 8,Style Guide for Python Code,是Python官方推出编码约定,主要是为了保证 Python 编码的风格一致,提高代码的可读性. 官网地址:http ...
- PyCharm 2018实现远程调试代码
pycharm是一个非常强大的python开发工具,现在很多代码最终在线上跑的环境都是linux,而开发环境可能还是windows下开发,这就需要经常在linux上进行调试,或者在linux对代码进行 ...
随机推荐
- udev简述
udev 是 Linux 内核的设备管理器.总的来说,它取代了devfs和hotplug,负责管理/dev中的设备节点.同时,udev 也处理所有用户空间发生的硬件添加.删除事件,以及某些特定设备所需 ...
- 组播MAC地址_转
转自:组播MAC地址 MAC地址是以太网二层使用的一个48bit(6字节十六进制数)的地址,用来标识设备位置.MAC地址分成两部分,前24位是组织唯一标识符(OUI, Organizationally ...
- 简介vsftpd及搭建配置 关闭selinux 不能创建文件
简介vsftpd及搭建配置一.简介 FTP(文件传输协议)全称是:Very Secure FTP Server. Vsftpd是linux类操作系统上运行的ftp服务器软件. vsftp提供三种登陆方 ...
- PCL中分割_欧式分割(1)
基于欧式距离的分割和基于区域生长的分割本质上都是用区分邻里关系远近来完成的.由于点云数据提供了更高维度的数据,故有很多信息可以提取获得.欧几里得算法使用邻居之间距离作为判定标准,而区域生长算法则利用了 ...
- ES6之函数参数
ES6中对于函数参数主要增加了以下内容: 1.参数的扩展/数组的展开: 2.默认参数. 什么是参数的扩展? 看下面代码: <!DOCTYPE html> <html lang=&qu ...
- r语言 load Rdata 获取表名 并直接转为数据表
首先指定 load结果为一个对象 然后此对象的值 即为 str的 数据表名 然后使用 eval(parse(text = l)) 两个函数 将字符串 转可执行对象 即可完成重新赋值 > l & ...
- JavaScript开源跨平台框架NativeScript
NativeScript是一款使用JavaScript语言来构建跨平台原生移动应用的开源框架,支持iOS.Android和Windows Phone.且NativeScript的使用没有过多繁杂的要求 ...
- 谈谈mongodb,mysql的区别和具体应用场景
最近对数据库比较感兴趣,于是就去研究了下部分相关热门的数据库. MySQL 关系型数据库. 在不同的引擎上有不同 的存储方式. 查询语句是使用传统的sql语句,拥有较为成熟的体系,成熟度很高. 开源数 ...
- Python——pyiso8601
该模块不是Python内建的模块,为Python补充了 ISO 8601 解析——将常见的 ISO 8601 日期字符创转化为 Python 的 datetime 对象. 安装 $ pip insta ...
- List转DataTable(反射) ; 将泛型集合类转换成DataTable ; 将集合类转换成DataTable
public class ConvertX { #region 将集合类转换成DataTable /// <summary> /// 将集合类转换成DataTable /// </s ...