zoukankan      html  css  js  c++  java
  • 读《大道至简》第六章感想

        语言确实是种工具,但我们不应该忽略工具的作用。我们想什么,去做什么事会决定使用什么工具,但反过来我们有什么工具也会决定我们怎么想,怎么做事。如果工具没有提供这个功能,你就不会向这方面想,也就不会这样做。我们编程的时候,多数不是全部事先想好再写的,而是边写边想,你会发现你写得越多,你就会想得越多。我觉得,软件不是设计出来的,而是进化出来的。从这角度来说,编程语言是有好坏之分的,简单的说,就是越能帮助思考的语言就越好,要灵活,表达力强,少约束。编程语言就如同数学符号。数学符号也是种工具,好的数学符号会帮助使用者思考,更奇妙的是似乎符号本身也会思考。编程语言会引导思考。语言在设计或者演化的时候会提倡某种思考方式。有些语言提倡函数式编程,有些语言提倡面向对象,有些语言提倡结构化编程。语言确实一种工具,但它可以帮助我们思考,甚至决定了我们的思考方式。

        作者向我们介绍方法,作者提到推动逻辑向前发展的动力是“方法”和“方法论”。方法是长期实践的结果,作者以GoF为例,他的成功之道即为不断实践,不断总结,抽取,归纳这些规律。看到这里不由想到了王老师说的,没有学不会编程的人,只要动手去实践,也不由使得我意识到了实践的重要性,想到这里不由得心生惭愧,自己只会照猫画虎,在编程的时候总是以完成任务为目的,从来不到做一点点,多实践一点。从来不回去多考究推敲一遍代码。

        工程理论是包含组织学的。如果说工程关心的是“需求”、“配置”和“文档”等等这样一些要素,那么这样的工程还是停留在技术层面的:关注的还是工程的实现细节,而非目标。从角色的角度来看,这是项目经理和技术经理所共同关注的那一部分。 然而项目经理还必须关注于人力资源、项目资金以及多个项目之间的协调等等。这些与工程本身并没有直接关系,而是“组织”方面的内容。工程不是做的,是组织的。不是有了模型,有了项目经理和开发人员,大家按照模型去做就可以成功的,这又不是煮饭烧菜,有原料人手和菜谱就可以的。这需要项目经理起好领头人的作用,组织这个工程中的各个角色,了解每一个人的特点和所长,把他们分配到适合的位置上,进行弹性分工,让每个人的价值在团队中得到最大的发挥。组织好工程中的各个角色,使得大家分工明确,步调一致,才能共同完成好项目。 

        实现是开发软件的本质需求。为了实现,我们设计了数据结构或逻辑结构来映射物理模型,我们不断的积累和实践来总结和归纳方法。分析、设计和编程因此出现顺序和实现顺序不一样。由于“实现”的需要,我们有了团队组织、有了过程模型、有了语言、有了工具。“实现”如同上帝之手一般,推动着软件工程的理论体系的形成。

  • 相关阅读:
    shiro中 UnknownAccountException
    shiro Filter--拦截器
    java构造器执行顺序一个有趣的简单实例
    Java Serializable接口(序列化)理解及自定义序列化
    js中绑定事件处理函数,使用event以及传递额外数据
    js中的this
    jQuery + ashx 实现图片按比例预览、异步上传及显示
    asp.net中的参数传递:Context.Handler 的用法
    javascript 对象详解
    ashx 文件的运用
  • 原文地址:https://www.cnblogs.com/fan-xiaofan/p/4945956.html
Copyright © 2011-2022 走看看