初闻其名,《大道至简》,大多人都会觉得这是一本满腹人生哲理的书籍,作者洋洋洒洒的谈论大道理,其实不然,作者以古典文化为引,以作者的所思所想为线,启蒙了我作为一个软件工程初学者的实践思想。

愚公虽愚,却向我们展示了如何完成一个看似庞大的工程,那就是一步一步的分而治之,回想自己大一的学习生活,确实遇到过比较繁杂的程序,那时候一心想的是这太复杂了,可能完成不了,可是当自己真正静下心来去慢慢分析程序该如何一个部分一个部分、一句一句的往下写,分析清楚各部分之间的关系时,运用合适的方法,问题便变得越来越简单,以至于最后消失。作者所言极是:“所以编程的第一要务是先把事情分析清楚,事件先后的逻辑关系和依赖关系搞清楚,然后再去代码实现。”当我们脑海里都还是一团雾水的时候,想要写出正确的程序那恐怕不太现实。

诚然,一百万行代码是可以写在一个文件里的,像极了初学c++的我,即使知道头文件和源文件可以分开写,但还是愿意把它们安置在一个文件里,可是久而久之发现如果程序出错误了,找到那个位置或许需要鼠标或者键盘操作好多次,便慢慢接受并习惯了分开写程序的一些不同部分,更何况是一百万行,这样只不过是白白的浪费时间,降低了工作的效率。将程序的各个层次结构清晰的划分开,可以减少开发过程中不必要的麻烦,使程序更便于查看与修改。

在现在的我看来,软件的意义是要给人以完美理想的功能以及美好的使用体验,一个好的软件的产出不单单只是程序员们工作的结果,更重要的是软件开发者对软件需求者需求的理解,要想做好一个软件,项目团队中各组织结构间明确分工,各司其职,高效配合是必不可少的。作为开发软件的人,需要明确需求者的需求,从而给出其满意的结果。明确需求时高效的沟通是极其必要的,也要注意方式方法,用客户易于接受和理解的方式进行沟通,这样才能使客户对其需求表达的更加清楚,也利于软件开发者的工作。沟通也要有目的性的,带着问题去沟通的,而不是随意的交流感情,聊项目以外的事情,那样只会浪费彼此的时间。总之,明确目的,开发的方向才能正确,如果连开发的目的都没有搞清楚的话,还指望做出满意的产品简直是痴人说梦。

作者还赘述了一些管理方面的内容,诸如项目经理,BOSS,开发经理在工程的过程中担当了一个怎样的角色,应该如何去发挥自己的职能,不要害怕产生矛盾,而要注重如何解决这些矛盾。

道,规律也,大道之行也,大道至简。本书没有过多的方法,全部是思想的结晶,参悟还需我们在以后的实践中去慢慢体会。

读<大道至简>--软件工程实践者的思想有感的更多相关文章

  1. 大道至简---软件工程实践者的思想------------java伪代码形式读后感第一章

    import.java.大道至简.*; 1.编程的精义----愚公移山 /* 原始需求的产生:惩山北之塞,出入之迂 项目沟通的基本方式:聚室而谋曰 项目的目标:毕力平险,指通豫南,达于汉阴 技术方案: ...

  2. 阅读《大道至简第一章》读后感(java伪代码)

    大道至简讲述的是软件工程实践者的思想,书的第一章引用了著名的----愚公移山这一历史故事,向我们讲述了编程的精义.汤问篇中所述的愚公移山这一事件,我们看到了原始需求的产生---“惩山北之塞,出入之迂” ...

  3. 大道至简(第五i章)读后感

    大道至简(第五章)读后感 再一次在不想看的情况下读大道至简第五章,一个项目的实现中,“过程”与“工程”是同一个概念吗?答案自然是否定的.“过程”是一个确定的模板,而“工程”是有一个目的的实现在里面. ...

  4. 《大道至简》第三章读后感+ppt课后作业

                   大道至简读后感 ——第三章团队 古人云“三人为众”,众则是指团体或团队.对于一个团队而言,重要的是凝聚力,大家能在一起把拳头握紧那么产生的力量就不紧紧是能以1+1=2 来 ...

  5. 《大道至简-Team》

    已经学习了<大道至简>两章,我们了解了编程的本质和“懒人”造就了方法.书中没有提供给我们编程的技巧,捷径,而是从别的方面为我们讲解了编程的精义.第三章就为我们引入了“团队”这个概念. 我们 ...

  6. [转载]大道至简!!!从SAP HANA作为SAP加速器的方式,看ERP on HANA的春天

    I AM A ABAPER! 科技的进步,一定会使一些东西变得越来越精简! 大道至简!!! 文章很好!!!!!!!!!!! -------------------------------------- ...

  7. Strurts(四)——从Struts原型模拟看大道至简(含实例下载)

    首先,需要再次声明的是:struts是web层的框架.在介绍struts的第一篇文章就已经有了论述,如果不使用struts框架同样可以进行开发,但是需要在Servlet里面写大量的“if……else… ...

  8. java伪代码 大道至简第一章

    import.java.大道至简.*; //一·编程的精义 import.java.编程的精义.*; public class BIANCHENGDEJINGYI { if(愚公死了) 愚公的儿子,孙 ...

  9. 大道至简第一章和java理论学时第一节。感受。

    这周上了本学期的第一节java课程.课件上说了一些学习java的基本思想.举了个“愚公移山”的例子.这可能就像刚接触一门新的语言,来练习输出“HelloWorld”一样,已成惯例. “愚公移山”的这个 ...

随机推荐

  1. Unity3D 物体旋转之Quaternion.Slerp

    实现的功能:1个物体以一定的速度转向目标物体 Quaternion TargetRotation = Quaternion.LookRotation(m_Target.transform.positi ...

  2. LeetcCode102 Binary Tree Level Order Traversal

    Given a binary tree, return the level order traversal of its nodes' values. (ie, from left to right, ...

  3. Android EditText____TextchangedListener

    今天在做APP的时候有个需求: EditText 动态监听内容变化如果长度为6时(就是看是不是验证码) 判断是否正确 正确就跳到下一个Activity,但是在Activity.finish()的时候, ...

  4. 爬虫:Selenium + PhantomJS

    更:Selenium特征过多(language/UserAgent/navigator/en-US/plugins),以Selenium打开的浏览器处于自测模式,很容易被检测出来,解决方法可选: 用m ...

  5. util.date

    package com.sxt.utils.date1; import java.util.Date; /* * util.date */ public class TestDate { public ...

  6. oracle函数 localtimestamp

    [功能]:返回会话中的日期和时间 [参数]:没有参数,没有括号 [返回]:日期 [示例]select localtimestamp from dual; 返回:14-11月-08 12.35.37.4 ...

  7. NSOperation 详解

    原文地址:http://nshipster.com/nsoperation/ 大家都知道的秘密是一个应用程序,瞬间响应卸载计算在后台异步完成.因此,现代的Objective-C开发者有两种选择:大中央 ...

  8. input标签前台实现文件上传

    值得注意的是:当一个表单里面包含这个上传元素的时候,表单的enctype必须指定为multipart/form-data,method必须指定为post,浏览器才会认识并正确执行.但是还有一点,浏览器 ...

  9. Python 的经典入门书籍

    实python非常适合初学者入门,上手很容易.我就是完全通过网上资源学了python的.最大的是3点经验:1.找一本浅显易懂,例程比较好的教程,从头到尾看下去.不要看很多本,专注于一本.把里面的例程都 ...

  10. 在对文件进行随机读写,RandomAccessFile类,如何提高其效率

    花1K内存实现高效I/O的RandomAccessFile类 JAVA的文件随机存取类(RandomAccessFile)的I/O效率较低.通过分析其中原因,提出解决方案.逐步展示如何创建具备缓存读写 ...