使用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