zoukankan      html  css  js  c++  java
  • 大道至简第六章 阅读笔记

          第六章引用了《列子》的一句话“得其精而忘其粗,在其内而忘其外;见其所见,不见其所不见,视其所视,而遗其所不视。”这句话的意思是:得到它的精髓却忘记了它的粗,在它内部却忘记了它的外部;只能看到能见到的东西,而不能看到那些看不到的东西。要知道程序语言对于一个编程人员而言仅仅是一个工具、一个媒介。作为IT项目开发的人员,看清楚大的程序只是项目的开始而已。

          按照人类的发展史来看,猿人与人类的关键差别在于,是否学会制作和使用工具。而编程人员也常常被称为程序猿,我觉得也有可能是因为我们队工具的盲目。

          我们目前所学过C++JAVA与其说是技术课程,还不如说是语言。这几门语言,就是用于和计算机对话的。而我感觉我们是用学英语的方法来学习程序语言的。我们太专注遇语言工具的的学习了。对于其他专业知识反而造成了忽视。作者在第一章中曾经说过:成天讨论这门语言好,或者那门语言坏的人,甚至是可悲的。语言仅仅是一个工具,一个我们用来实现工程的工具。

          在本章的第二节中,作者提出了程序的本源定义“程序=算法+结构”,这也是原始的状态。任何与编程相关的工作,都是以此为本源中心。就像英语单词都是由26个字母组成的。所以所有的程序代码都是由“程序=算法+结构”得来的。即使面对复杂的程序,我们也应该抽丝剥茧地理清思路,这样就很容易看懂程序了。

          随着事情的发展,根据前人的实践和总结,过程、对象和方法都出现了。方法和方法论是用于推动程序向前发展的。要知道的是方法不是实物,不能被看到,只有拥有足够的编程经验才能理解。并且理解过程需要编程经验,理解对象也需要编程经验,也就是说我们需要的是熟能生巧。过程是伴随着工程而出现的,过程就是角色、沟通和环节,解决的是角色间的关系问题。

         最狭义的工程,是“做什么”和“做到什么”。也就是说,把我们要实现的目标通过语言、方法、工具实现出来的就是工程。工程需要方法和过程来达成。对于大的工程而言,团队极为重要。一个人是很难高效率地完成大工程的。在现今社会中,如果没有团队意识,那么就会一触而溃。

         在团队中,组织是很重要的。这个组织无关于技术,而重点放在人力资源、项目资金和项目组的协同等方面。工程理论其实就囊括了组织学。当工程关注的只是需求、配置和文档等要素,那么这样的过程是肤浅的技术层面。所以我们应该关注的还是实现工程的细节,而非目标。这些应该是项目经理和技术经理所共同关注的一部分。

         实现是开发项目的本质性需求。为了去实现项目,我们需要不断积累和时间来总结和归纳方法。由于“实现”的需要,我们有了团队组织、有了模型、有了语言工具。

  • 相关阅读:
    分布式锁-数据库实现
    MyBatis-Plus自动填充功能失效导致原因
    Java中锁的解决方案
    2:什么是单体应用锁?什么是分布式锁?
    1:初始锁这个概念
    移动端网页开发问题小结
    node.js+socket.io创建web聊天室
    使用HTML5实现刮刮卡效果
    总结(活动)
    videoJs 使用
  • 原文地址:https://www.cnblogs.com/LL66/p/4944766.html
Copyright © 2011-2022 走看看