大道至简第六章读后感
《大道至简》第六章读后感
作为一名IT编程人员,首先我们得了解编程语言。可问题在于我们所处的环境中编程语言太多、太复杂,比如:C/C++、PHP、JAVA、.net等等。面对这一系列的语言我们需要做的不是去把每一门语言都填鸭式的填入自己的大脑,或者以我们短浅的目光去评论这一门语言好,或是那一门语言坏,而是要学会如何去选择,去把一门语言学通,学透彻。
我们拼了命的学习编程语言就是为了编程,而编程的精义于此。从有开发行为开始,它就存在了。 愚公在数千年前就在用类同的行为做编程实践,而几十万 年前智人,也在循环与分支所构成的逻辑中打转。因此,我们在编程之前应该先掌握编程的精义。
编程需要有适当的方法,正如周爱民先生提到的,方法并不神秘,因为它就是你今天正在做的、从事的 和实现的。正如“模式”是一种方法,而模式就是你昨天 书写代码的那个行为。只不过,GoF 归纳、抽取、提升了 这些行为的内在规律。 你看不到你做事的行为,也就不能理解“模式”作为 一种方法的价值。所以大师们众口一词:模式需要一定的 编程经验才能理解。、
编程也同样重视方法问题。一个好的工程必定得经历一个好的过程。过程伴生工程而出现。过程解决的是工程中角色间的 关系问题。 过程说的是很多的人(团队)如何组织在一起进行开发的问题。它首先把工程中的环节分解出来。这样,有了 环节,就有了角色;有了角色,就有了沟通。 因此过程中的问题,就是角色、沟通和环节的问题。
我们很多人总是以为BOSS就是组织的核心,其实不然。一个好的组织是需要BOSS与成员之间的紧密合作的。BOSS 在公司中解决的是“经营”问题。这其实是在 比“组织”更靠外侧的一层。——在前面的图例中并没有 给出,这也意味着“经营者”与“工程”基本没有关系。 在一个更大规模的组织机构里,你可以会更直接地观 察到“经营者”与“组织者”之间的差异。例如公司的大 小股东是“经营者”,董事会通常是解决经营问题的地方; 而总经理、执行经理以及各个部门经理则是各级的“组织 者”,经理办公会则是解决组织问题的地方。 你应该清楚,真正的BOSS是经营者②。 这有助于你明确你被雇来的原因,你的工作是面向哪 一个层面的,以及你或者你的上司有没有权限来决定是一 个项目是否应该立项,或中止。因此,处理好BOSS与组织成员之间的关系尤为重要。
工具是我们的“上帝之手”,为了实现我们的目的,我们必须学会使用工具来实现。工具的产生仍旧是出于“(软件)实现”的需要。不可能从软件开发实践中产生出轮子和指南针,因为那不是 “软件开发的本质需求”可以推动的。软件工程的体系中,“实现”作为软件开发的本质需求和基本动因,如同上帝之手在推动这几十年来的软件工程理论体系的形成。因而,善于使用工具也是我们的一大优势