松本行弘的程序世界笔记

前言

上个月接手了一个项目,做一个APP后台管理系统和API接口。目前为止,这个项目算是基本上告一段落了。这次项目开发的经历,让我对软件开发有了进一步的认识,也感觉自己需要再重新看一些编程方面的书,加深一下自己的理解。抬头看了一下自己的书架,正好有一本<松本行弘的程序世界>这本书,索性就拿来看了。松本行弘是Ruby语言的作者。之前由于项目经验的缺乏,对于编程理解较少,在这本书中看的很多东西都似是而非的,这次再来看,效果很不错。

怎样写程序

使用编程语言写好程序是有技巧的,我们来看看松本行弘给我介绍的编程技巧吧。

1.编程风格: 指的是编程的细节,比如变量名的选择方法、函数的写法等等。这个编程风格随语言不同而不同,随团队的不同而不同,总而言之要与你的合作者兼容,尽量贴近主流风格。
2.算法: 算法是解决问题的方法。现实中各种算法都已经广为人知,编程时基本是对已知算法的应用。
3.数据结构: 数据结构按照我的理解是数据的存储格式,数据结构的不同导致实现相同目标使用的结果不相同。有一位计算机先驱曾经说过:"程序就是算法加数据结构"。
4.设计模式: 设计模式是指设计软件时,根据以前的设计经验对设计方法进行分类。有名的设计模式有23种。
5.开发方法: 指包括项目管理在内的整个程序的开发工程。按照我的理解,这里涉及到团队的构建,开发方式的选择等等诸多问题,不过多谈论。

之所以记录下来这些东西,是因为我觉得,一旦一个程序员想要提高自己,那么就必须从这几个方面同时着手提升,没有一个方面可以被忽略。

面向对象

面向对象,按照我现在的理解,核心是类。类是对象的模板,类的基本要素是属性和方法。在这里属性是数据的存储形式,而方法则是算法的体现,是数据的处理方式。既然类是面向对象的核心,那么类设计的核心是什么?在这本书里,我找到的答案是,继承和多态。这两个概念都指向了同一个目标,代码的重用和防止代码冗余。不同的面向对象语言对这两个概念的实现各有不同,我们学习每一种语言的时候,需要注意。但在我的理解中,实现方式没有优劣之分,高下之判。

总结

这本书还对Ruby元编程,代码块等内容做了介绍。这些内容在中有更深入的介绍,这本书我已经看了不下五遍了,~~~~(>_<)~~~~ ,有时间再看一次,总结成博文,分享给大家。

另外,我还比较深入地学习了书中的正则表达式一节,正则表达式也属于通用性技能,需要多多使用和学习。