- 简介、代码格式和工具
- python风格代码
- 好代码的一般特征
- SOLID原则
- 用装饰器改进代码
- 用描述符从个对象中获取更多信息
- 使用生成器
- 单元测试和重构
- 常见的设计模式
- 整洁架构
以上是 《编写整洁的python代码》这本书的目录,最近在学习python,不是学习如何用python写几个功能,而是学习在实际项目中如何编写搞质量的python代码。
这也是初级和高级程序员的区别,实现和漂亮的实现区别。
每个语言都有自己的风格,以前做php的时候,发现php的风格是很松散的,到了python,反而要求的更加苛刻,其实也可能是自己之前在做php的时候对自己的要求太松散了吧。
首先我们知道python里面是没有大括号来把函数或者类包起来的,而是通过缩进换行来表现它的代码块,所以这就是python代码的最大风格,代码的格式决定了代码的运行方式(函数块,类块)。
所以针对这个问题,python对代码的组织风格有这严格的要求,多了缩进或者少了缩进代码完全就是不同的意思。
再则,python是动态强类型语言,动态所以灵活,但是强类型又会去做类型检查,所以不能为了灵活就去忽略类型,所以再实际的工程中需要时刻关注变量的类型,工程中的技巧就是给变量的名称最好带上它的类型说明。
php是动态弱类型语言,这也就导致了这门语言的灵活,但是现在到了php7 有了变量类型声明的新特性。例如
class Person
{
public function age(int $age)
{
return $age;
}
public function name(string $name)
{
return $name;
}
public function isAlive(bool $alive)
{
return $alive;
}
}
$person = new Person();
echo $person->name('Revin');
echo $person->age(27);
echo $person->isAlive(TRUE);
实际工程中,变量类型有声明可以帮助我们快速定位bug,对于代码的工程化是有好处的。如果不声明,只有在运行的时候才知道类型,如果输入不符合预期,那么就会导致一些意想不到的bug。
所以,回到php中,我个人的建议是做声明比不做声明好。