生命会逝去,但一个好的软件不会。
要想写出一个“永垂不朽”的软件,关键是你能否遵循以下规则:
1、模块化
规则1:模块化。在一个模块中找bug总比在整个代码库里找简单得多。
人脑是极其复杂的生物,可以设计出能处理复杂问题的CPU,但自我本身却处理不来这些问题。想要证明吗?那么告诉我,在不使用任何计算器,纯心算的条件下,你能算出13*35是多少么。我敢打赌,你不能。至少在短时间内你办不到。
但是,我们擅长将复杂的问题分解为更容易解决的问题。
13*10是多少?130。
13*5呢?那就是130/2=65。
130*3?390。
390+65是多少?455。答案就是它了!
这就是如何分解问题的一个事例:将一个大型的复杂问题分解为一个个独立的小型的简单问题,从而快速得出正确的答案。
我们也可以按照同样的逻辑对待软件。模块化的代码不仅易于阅读,而且更容易调试。在大多数情况下,堆栈跟踪只会导致非常小的代码子集,而不是一下子出来个1000行代码的文件。甚至在更新某个特定模块时,也不需要捣腾整个系统——只要正在更新的那部分就可以了。
2、测试
规则2:任何不经过测试的代码都是耍流氓。
很多人认为测试和写软件是两码事,即使是在学校中,教师会教你如何使用C ++模板,却不会告诉你如何测试。在线教程能教你如何在Brainfuck制作web服务器,却不会说明如何测试。而这就是问题的所在。
有人说,我们应该在编写实际的应用程序逻辑之前就先写好测试。
但是在我看来,什么时候写测试其实并没有关系,只要写了就ok。不要试图一步登天,不要想着刚开始就写得出完美的测试:从简单的起步。用蛮力方式测试(如print(add(1,1)=2)),然后再测试对应语言的框架。
测试有助于我们了解软件的复杂性。你可以学到如何将软件模块化为可以独立的测试件。
3、持续集成
规则3:使用持续集成。只要出现问题代码,就会通知你。
你写的测试,你必须确保可以应用于多种环境(例如Python的多个版本)。并且如果需要作出任何改动,也得测试。
棋迹软件库app 官方版正版下载 3.0 11.07 MB
下载
湘ICP备2022002427号-10 湘公网安备:43070202000427号
© 2013~2024 haote.com 好特网