游戏公司雪乐山创始人谈编码风格,包括not布尔判断,如何编写方法,以及代码重构

最近在读一本书:Not All Fairy Tales Have Happy Endings: The rise and fall of Sierra On-Line(不是所有童话故事都有美好结局:雪乐山在线的兴衰史)

作者是曾经的游戏巨头公司雪乐山娱乐(Sierra Entertainment)的创始人Ken Williams。在那个年代,冒险类解密游戏是纯文字的,没有图像。他和妻子Roberta Williams一起创作了第一款有图像的冒险类解密游戏。

在这本书中,作者也谈到了一些编码的问题。有的适用于当时的情形,有的也许今天还适用。总的来说,很有借鉴性。比如:

如果使用not布尔表达式,可能会造成代码阅读困难。

if (not customer_number is null) {
     
	...
}

它表达的意思是:如果用户数这个变量是null不成立,也就是说,如果用户数这个变量不是null成立,那么执行。

你过一段时间回来看自己写的这段代码,理解起来的时间要比你下面这样写要

下面是更简单的书写方法:

if (isValid(customer_number)) {
     
	...
}

调用另外一个isValid()方法判断customer_number是不是null。

另外,不要在一个方法里面写和这个方法无关的代码。因为调试起来速度会变慢。而且仅仅多几行就容易让代码产生bug。

方法的命名应该让意思一目了然,可以写长一些,但是需要能让人看懂意思。

Ken Williams说,他常常花很长时间来把代码拆分成许多方法,确保每个方法只做和自己相关的事情,而且意思清晰明了。他说虽然看上去是在原地不动,没有推进项目,但是实际上重构代码可以使得代码结构更加清晰,对于后续的开发非常有帮助。

你可能感兴趣的:(Linux,python,互联网故事,c语言,python,golang)