学了三年Python,才敢说这6个编程习惯,受益整个职业生涯
三年前我刚开始写Python的时候,代码能跑就行。那时候觉得什么规范什么习惯都是虚的。直到后来踩了无数坑,加班改bug改到凌晨三点,才慢慢明白有些事早该做。
第一个习惯是写函数之前先写注释。不是那种敷衍的注释,是把函数要干什么,参数是什么,返回什么说清楚。我见过太多人写一个函数几十行,连他自己三天后都看不懂。后来我强迫自己先写三行注释再写代码,这样思路清晰了,bug也少了。现在回头看,这大概是我做的最对的一件事。
第二个习惯是给变量起有意义的名字。a,b,c这种名字谁都能写,但过了一个月谁都不知道a是什么意思。我见过一个同事用x1,x2,x3遍历整个列表,最后他自己都搞混了。起名字确实要多打几个字母,但比起花时间找bug,这点时间太值了。一个好名字比一份文档管用。
第三个习惯是用小函数拆解大问题。我当初学着把一个几百行的函数拆成十几个小函数,每个函数只做一件事。刚开始觉得麻烦,觉得多此一举。但测试的时候发现小函数改起来方便,出了问题也容易定位。现在我写代码都从一个小函数开始,慢慢搭积木一样搭起来。
第四个习惯是写代码的时候想着别人读代码。很多人写代码只顾自己看得懂,缩进乱七八糟,空格忽多忽少。我后来强制自己用格式化工具,团队统一风格。这听起来很小的事,但代码是给人读的,不是给机器读的。机器只要能跑就行,但人能看懂才是真本事。
第五个习惯是记录版本改动。我以前改完代码就直接覆盖,过了两天忘了自己改了什么。后来我开始用git,每次提交都写清楚改了哪些地方。这个习惯帮过我大忙,有一次新功能上线后出了严重问题,我直接回退到上一个版本,五分钟解决问题。不然光排查问题就得好几个小时。
第六个习惯是写代码前先想测试。不是说写完才测,是写代码之前就想好怎么测。我学到一个方法叫先写测试用例再写代码,也就是TDD。刚开始不习惯,但试了几次就发现好处。因为你对功能理解清楚了,代码写起来就顺。那些隐藏的边界情况,测试用例会帮你提前暴露出来。
三年下来,这六个习惯帮我省了不少时间。写代码的时候顺手做到这些,并不费什么事。但长期积累下来,效果很明显。代码不再是写完就扔的东西,它能用很久,能给别人看,能让自己回头改的时候不头疼。
如果你刚开始学Python,别着急写出多厉害的算法。先把这几个习惯做起来。它们不会让你一飞冲天,但它们会帮你走得更稳。