读了《凌波微步 软件开发境界案例集》一书,让我深有感触。
首先为什么这部书叫做以凌波微步为名,因为这本书对于程序员来说,就是一本武林秘籍。每一个身在“武林”的程序员,都应该掌握武功的技巧,才能使其发挥最大的威力。为什么我们写程序的时候要加上注释呢?我们现在可能还涉及不到编写庞大的系统程序,只是写写简单的小程序。程序虽小,但是仍然会有一两步我们自己都想不起来为什么要这么写,想不起来它的功能,这个时候我们就需要添加注释,来告诉自己,也是为了告诉其他读自己程序的人,这一步,是干什么的。
添加注释的习惯虽好,但是糖吃多了会蛀牙,盐吃多了高血压,注释多了反而起的是令人眼花缭乱难以阅读的反效果。注释,一定要简洁,而不能像写一篇作文一样去介绍这一步是什么,那一步是什么,而是要注意程序是否有可读性,是否简洁明了。
对于程序风格而言也是如此,可能每个人的习惯不同,例如C语言里函数的大括号很多人都习惯放在下一行,Java中常常不再另起一行,一个学习C语言很久的人看到Java的第一眼时是狠不舒服的,非常的想把大括号都放到下面去,觉得这样子是更加舒适简洁的,所以就出现了不同的代码风格,但是如果在一个程序里既有下一行书写又有同行书写,那么这将给读者带来一种非常刺眼的感觉,仿佛黑体里夹杂着宋体和楷体。
界面是简洁了,但是程序运行的问题呢?我们写的代码是不是就是最佳解决方案呢?每一个人的思路都可能不同,每一个人最后的解决方案也可能不同,那么就涉及到了谁更高效,谁的问题解决的更快,占用内存最少,那谁的代码就更好,而不是谁的代码几百行谁的就好。
前面都是说说代码风格问题,那么后面就是一些比较深的问题了。
版本管理篇:时刻注意动态链接库的版本问题,很多时候以为版本的差异会导致很多不必要的麻烦,很多时候因为安装程序用新版本的dll覆盖掉旧版本的dll后,系统或者程序将无法运行。
防治的方法:因为DLL的基本特征是对外输出一组可用的函数接口。通常我们有两种定义输出函数的方法:一种是使用模块定义文件DFF或者是通过使用dllexport或者dllimport,不同的定义方法,对的dll的版本兼容姓是不同的。
案例分析:window的dll机制为我们提供了一个运行程序时动态加载软件模块的有效手段,和静态库相比lib,DLL的机制更有利于多个应用程序共享一个功能模块,所以DLL本身就保证了库的向后扩展性,所以我们可以通过更新DLL的版本来实现后续程序对此的使用。
同时,linux也增加了对动态链接库的支持,在该系统中被称为shared Objects ,代码的重复使用这一点至关重要。
版本演化的难题:很多时候在版本演化中出现问题,是因为版本管理没有做到位。通常用操作系统的目录书结构来组织和储存源代码,文档等开发资源。这是最简单,经济,直接的版本控制方法。通常我们也是这样做的,其中的关键就是要遵循一些基本的原则。其中最主要的就是将代码保存到一个唯一特定的目录中,而且人们都知道。
原文地址:https://www.cnblogs.com/w7494/p/12578588.html