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

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

诚然,一百万行代码是可以写在一个文件里的,像极了初学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. 使用 Linux Centos Docker 安装 2Bizbix

    在 Docker 安装 2Bizbix 安装 Centos 7 安装 mysql5.5 镜像 映射好数据库的配置文件和数据库目录 在 Windows 安装 2Bizbox 安装 jboss/base- ...

  2. iOS应用国际化教程

    开发一款伟大的iOS应用程序是件了不起的事情,但是还有比优秀的代码.华丽的设计以及直观化交互更多的事要做.跻身在App Store排行榜前列还需要正合时宜的产品营销.扩大用户群的能力.实用的工具以及尽 ...

  3. poj 3107 Godfather 求树的重心【树形dp】

    poj 3107 Godfather 和poj 1655差不多,那道会了这个也就差不多了. 题意:从小到大输出树的重心. 题会卡stl,要用邻接表存树..... #include<iostrea ...

  4. mysql中时间字段datetime怎么判断为空和不为空

    mysql中时间字段datetime怎么判断为空和不为空一般为空都用null表示,所以一句sql语句就可以.select * from 表名 where 日期字段 is null;这里要注意null的 ...

  5. MySQL按时间统计每个小时记录数

    MySQL按时间统计每个小时记录数 方案1: ? 1 2 3 4 5 6 7 SELECT  @rownum := @rownum + 1 AS ID,         CONCAT((CASE WH ...

  6. 实践分享:开始用Cordova+Ionic+AngularJS开发App

    http://www.cocoachina.com/webapp/20150707/12395.html 本文是一篇关于我本人在使用Cordova+Ionic以及AngularJS开发移动App的过程 ...

  7. HUD-1708_FatMouse and Cheese

    FatMouse and Cheese Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others) ...

  8. javascript实现html中关键字查询

    <!DOCTYPE html> <html> <head> <meta charset="utf-8" /> <title&g ...

  9. j2se--异常机制

    版权声明:本文为博主原创文章,未经博主同意不得转载. https://blog.csdn.net/quwenzhe/article/details/35610853   java异常机制中主要包含一个 ...

  10. mysql 中 DATE_ADD函数和 DATE_SUB函数用法

    mysql 中 DATE_ADD(date,INTERVAL expr type) 和 DATE_SUB(date,INTERVAL expr type) 这些函数执行日期运算. date 是一个 D ...