zoukankan      html  css  js  c++  java
  • 《构建之法》有感(一)

            今天看了些《构建之法》,第一章的概论主要介绍了关于软件工程的这个行业, 软件工程这个和行业仅仅能敲出符合功能的代码是远远不够的,除此之外,关于用户的体验、用户界面设计等等也是需要考虑的,还有几种商业模式,虽然有的还不太了解,但有的商业模式还是理解的。这里书上介绍了一个推论公式:软件=程序+软件工程,而软件企业就等于软件加上商业模式。

            对于“”“软件”、“程序”到底是什么?”的这个问题,书中也给出了答案:程序(算法、数据结构)是基本功,但是在算法和数据结构之上,软件工程决定了软件的质量;商业模式决定了一个企业的败。此外,为了更形象的阐述软件开发,这里用了飞行器的例子来进行比较,这样更有兴趣阅读,也能更好的理解。今天的各大软件企业也是从不成熟慢慢发展成熟的。

            对软件来说,出现bug是常见的,所以我们就要去维护软件,正视bug,但由于软件的特殊性(复杂性、不可见性、易变性、服从性、非连续性)是这项工作变得不容易,所以所“做一个好软件”非常难。所以,软件工程的目标就是创造“足够好”的软件。一个好的软件并不是要求没有一个bug,我相信是软件就会有bug,但是如果使用过程中出现了bug该怎样的处理,这是我们需要重点解决的问题。因为bug的多少可以直接衡量一个软件的开发效率、用户满意度、可靠性和可维护性等等。

            第二章相对于第一章的内容就枯燥些,因为语言的的不通,对于代码例子看起来有些费劲。再写代码的时候将单元测试写进最基本的类中,这样方便进行调试,而不是把整个程序写完后测试出来错误,却不知道具体的错误位置,这样既浪费时间有浪费精力,所以我们要养成编写边测试的习惯。一个好的程序还体现在运行效率方面,就是时空复杂度,我们可以采用不同的算法来提高我们程序的效率,我在这一方面还是欠缺的,以后会在这方面多多注意的! 

    个人感受:我在平时的课程中总时以运行结果是否符合为目标来进行编程,对于简单的问题总是用最简单(最笨的)的思维去解决问题,很少去将进行深层次的思考,所以我的程序运行起来就没有效率了。所以以后要多多考虑时间复杂度低的算法,在算法方面真的很欠缺,接下来会在这方面好好学习。

  • 相关阅读:
    exchart点击事件,空白无值也能点击触发
    两个界面来回切换展示(左下角 有小demo)
    警告滚动展示
    Oracle高级查询之OVER (PARTITION BY ..)
    解决安装office2007后,原来的*.doc文件的图标变成缩略图
    几个常用的文本处理shell 命令:find、grep、sort、uniq、sed、awk
    CentOS 7.3 安装配置 Nginx
    MySQL5.7.17源码编译安装与配置
    CentOS 7 源码安装 MySQL5.7
    Java命令学习系列(一)——Jps
  • 原文地址:https://www.cnblogs.com/tianwenjing123-456/p/12256150.html
Copyright © 2011-2022 走看看