谭老师的《C++程序设计》是讲高级语言语法规则的,程序只要符合语法规则就算对吗?
坑1:很多例子都是把函数声明放在主函数里;
坑2:“有默认参数的函数可以简化编程,这种方法比较灵活,提高运行效率”;
坑3:很多例子都是把类中成员变量声明成公有;
坑4:很多例子都是把成员函数的定义直接写在类声明里;
其他坑还有很多,不一一列举。
语法规则上讲,都没错。
先看坑1,如果总举那种例子,读者会潜移默化觉得合理,函数如果很多,主函数一开始就是上百行的函数声明,不辣眼睛吗;
坑2,写过的代码谁还能总记得某函数有没有默认参数,调用的时候一会发现俩参数一会发现仨参数,还得回去翻默认参数是什么,这种简化以可读性为代价,不需要;
坑3,现在的开发工具似乎再没有那么干的了,都是声明成私有,再用个公有接口对外提供服务;
坑4,现在开发工具似乎都是把声明分开单独放H文件里,放一起的代码还能读吗。
区分专业的还是业余的,就是看写代码的习惯。一个十分努力的、按照刷题模式的初学者,在启蒙阶段毫不怀疑这些坑,都顺利入坑。再想出坑,只能等下一阶段了。这条路,稍一弯,就是几年。
没有过工程经验,没有工程思维,教材有坑尚能理解。但是,长一智未必非要吃一堑,这就是上课的意义。