读《大道至简》总结

读《大道至简》总结

程序=数据结构+算法。而对于开发一个软件来说,程序并不代表他的全部。一个好的软件是需要投入精力去设计的。在进行开发之前,作为一个软件工程管理者来说,要考虑到他的方方面面。

首先,对于一个大型软件来说,其代码的数量可想而知。如果在开发之前没有进行设计就直接开始编程的话很可能会给自己或者别人留下后期开发维护的大坑。文中引用了愚公移山的故事:子又生孙,孙又生子,子子孙孙无穷匮也,而山不再高。中的毅力令人可嘉可贺,但是如果作为一个合格的程序员来说,他写的代码不仅要能让自己现在看懂,也要能让自己和别人在以后翻看代码时也同样的轻松,如果他写的代码

只有当时能看懂甚至是当时就看不懂而且代码格式乱七八糟,通篇总共没有几条注释的话,那他无疑是为自己以后的开发维护之路造了一座大山。相比于文中愚公的例子,李冰善用思考,能寻找更好的方法(积薪烧之)开凿大山的例子又进一步说明了思考方法的重要性。在开发过程的方法无疑是将需求分类简化。将一个大工程进行分类和联系,然后再和自己的团队去进行过开发会省不少的力气。

其次,如果作为一个合格的软件工程管理者来说,有能将技术开发者和客户沟通在一起的能力是必要的。管理者需要做的就是将客户的需求、项目的可行性与开发者的开发建立联系,通过最简单的沟通提高实现项目的可能。切不可有过多的流于形式的沟通,那不仅增加了成本到最后可能还是竹篮打水一场空。此外,管理者要考虑的另外一个重要的事情就是:成本问题,当你去思考成本问题时会进一步的简化整个项目,还可以最大化的提高效益。在团队之中,管理者需要指定适当的规则,并且做到公平对待每一个成员,切不可造成“既不能令,又不受命”的局面。除了以上两点,还有一个成长的问题,人总是不能避免犯错,都是需要成长的。失败的过程也是一种收获,每一次的失败都是向成功迈进的一次。不论是作为管理者还是开发人员,都需要机会来承受错误,在一次次的尝试中成长。一蹴而就,一次成功的案例是极少的。我们应该正面错误,在失败中吸取教训,不断成长才能做的更好。

最后,工程的目的是实现,做过程和做工程是不一样的。书中有提到软件工程的瀑布模型,包括需求、分析、设计、开发、测试。执行其实就是将这所有的都去实现。另外,在执行过程中也要借鉴以前的经验即历史记录,它可以给我们提供更多的经验,也能使开发变得更加流畅。

作为一个大二的软工学子,能了解到这本书是我的幸运,它令我受益匪浅。让我对软件工程有了更清晰的认识,也更加清楚了未来我要学习、培养能力的方向。

posted @ 2020-08-02 20:14  假装有知识  阅读(105)  评论(0编辑  收藏  举报