最近几年,兴起一种潮流,就是少年儿童学习电脑程序编写。笔者并不提倡这种潮流,而是觉得还不如重点了解一下一个优秀的程序员工作中值得学习的几点优点,到了适当的年龄和时机再去学习编写程序会更好。
编写程序,和写文章也有一定的相似,也会分段落,或者专业点说是程序块(Block)。一般,每个块会用一前一后两个标志给圈起来。在某些程序语言里,使用{和},有的是使用begin和end,形式不一样,意思大致一样。
初学程序,容易犯的一个错误就是,写了一个开始符号例如{或者begin,然后开始写里面的进程块,写到完了,结果就忘记了写结束的那个{或者end了。这是后续的称之为compile的过程就会通不过。
所以,受过训练的程序员,养成了一个好的习惯,敲了一个{之后,立刻就会紧跟着一个},begin和end同样的道理。永远都保证有头有尾,成双成对。然后再在中间写程序。
这只是进程员有头有尾的一个最简单表现,在其他的方面还有很多,例如某个地方申请了某个资源,在最后的时候,一定要释放回去,否则程序run越久,资源就越少。甚至最后把电脑或者手机给弄死。
那就是非常糟糕的了。
逻辑性不好的人不能够当程序员。
写程序,实际上就是把事情的各种可能性考虑了,各种可能情况下电脑应该做什么动作去回应,都要分析清楚,考虑清楚,然后再用电脑懂得的语言给写下来,告诉电脑这样去做。
所以,电脑程序里面会有很多种类似if...then的结构,要做很多判断,根据判断结果做不同的动作。如果一个人的逻辑不够严密,考虑问题容易遗漏了要点,那么写出来的进程可能就在某些情况下出现非常严重的问题。
例如,总共有20楼的电梯,已经20楼了,进程还控制电梯往上走,没有做边界的判断,那么电梯冲顶,就会发生非常可怕的事件。
由于编写程序的时候,头脑中经常要考虑各种情况和做条件判断,对于逻辑性的锻炼是非常好的。这点,确实可以作为青少年学习编程的一个正面支持点。
最初的程序员,可以一个人做很多事情。但随着电脑的发展,软体已经变得越来越庞大,依靠一个人做到的时代已经过去了,团队是一种必要。
有团队,就必然有分工和交流。由于软体程序并非如同建筑物那样的实体,交流起来是很困难的。软体工程学做出了很大的努力,让程序员们在交流时候相对容易和有效一些。这里面包括了程序员编写程序时候的一些规范。
程序员之间的团队精神,体现在这些编写规范里面。例如,我的程序里面的名词,应该用什么样的命名方式,符合大家习惯,以便别人看起来容易理解。我应该在我的程序里面,添加什么样的注释信息,以便别的程序员看的时候,能更容易理解。
好的程序员,会在自己写程序代码的时候,想到别人。这是一个优秀的程序员的团队精神的重要体现。
程序员往往会因为赶工而通宵达旦。但这并非这里说的重视时间。
优秀程序员重视时间的表现是,当他撰写程序时候,会想到半年后,我自己或者别人来看我的代码,或者经过多次修改后我的代码,容易变得很难理解,甚至容易引入错误吗?
对时间引来的变化的充分重视,会促使优秀的进程员在写代码的时候,采用高内聚松耦合的做法。这不太容易理解,甚至很多程序员本身都不太深入理解。用效果来去解释,如果有一个程序,将来要进行改动的时候,某个改动需要动到10个地方,那就非常容易因为只记得改到其中8个地方,漏了2个地方,导致不一致性,进而导致非常严重的后果。而一个良好的程序,可能仅需要改变2个地方就好,这大大降低了风险。
做事情不仅仅注重当前,还考虑到将来,就是程序员的一个优秀特质。
微信公众号 南辉海创 授权发布。
阅读更多..