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

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

诚然,一百万行代码是可以写在一个文件里的,像极了初学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. 2017校赛 问题 D: 我知道了,你知道了吗?【递归】

    题目描述 Alice和Bob走在去学校的路上,听到两个路人的对话: 路人甲:我知道了, 你知道了吗? 路人乙:我知道你知道了,你知道了吗? 路人甲:我知道你知道我知道了,你知道了吗? 路人乙:我知道你 ...

  2. redis :read error on connection

    最近做了一个多人竞拍的小功能  因为以前没做过 所以踩了很多坑用的是 mysql + php + redis 实现的竞拍功能 这里先说一下踩得第二个坑redis  的原因  真是欲哭无泪  解决完一个 ...

  3. 控制台输入聊天记录 输出到文件中保存 Day20

    package com.sxt.io; /* 字节流转换成字符流(转换流) * InputStreamReader extends Reader * OutputStreamWriter extend ...

  4. Python基础:07迭代器

    迭代器是在版本 2.2 被加入Python 的,它为类序列对象提供了一个类序列的接口.Python 的迭代无缝地支持序列对象,而且它还允许迭代非序列类型,包括用户定义的对象.它的出现,对列表迭代.字典 ...

  5. 修改Mariadb存储路径

    大部分基于此文章操作:http://lddyw.blog.51cto.com/4151746/1684364 找个好久的资料,都打算源码安装了,最后终于更改成功了. 环境:CentOS6.6 64位虚 ...

  6. 洛谷P1060 开心的金明

    //01背包 价值等于重要度乘体积 #include<bits/stdc++.h> using namespace std; ; ; int n,m,v[maxn],w[maxn],f[m ...

  7. Android ListView性能优化实例讲解

    前言: 对于ListView,大家绝对都不会陌生,只要是做过Android开发的人,哪有不用ListView的呢? 只要是用过ListView的人,哪有不关心对它性能优化的呢? 关于如何对ListVi ...

  8. HDU3746 Teacher YYF 题解 KMP算法

    题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=3746 题目大意:给你一个串 \(s\) ,要求 \(s\) 的开头或结尾添加最少的字符,使得添加后的串 ...

  9. Laravel 之搜索引擎elasticsearch扩展Scout

    简介 Laravel Scout 是针对Eloquent 模型开发的一个简单的,基于驱动的全文检索系统.Scout 使用模型观察者时会自动保持你的检索索引与你的 Eloquent 记录同步. 目前,S ...

  10. js后端返回一个时间戳,用原生怎么对时间进行格式化?

    function fn(time) { var date = new Date(time); var len = time.toString().length; // 时间戳不足13位则在后面加零 i ...