• 构建之法阅读笔记01


    程序=数据结构+算法、 软件=程序+软件工程

      一个复杂的软件不但要有合理的软件架构、软件设计与实现,还要有各种文件和数据来描述各个程序文件之间的依赖关系、编译参数、链接参数等等,这些都是软件构建的过程。源代码管理的问题有时候也叫配置管理,其中有一系列的工具和程序来保证程序的正确性,这些工具流程和程序本身应该更正确,才能保证别的软件的质量,这是质量保障,具体的验证过程叫做软件测试。

      软件团队要从需求分析开始,把合适的需求梳理出来,然后逐步展开后续工作,如设计(软件架构)、实现(写数据结构和算法)、测试,到最后发布软件。软件团队的人员在工作过程中有时会流动,新的成员需要尽快读懂已有的程序,了解程序的设计,这是程序理解。软件在运行过程中还会出这样那样的问题,我们可能要时不时给软件打一个补丁,或者维护众多的服务器,修复各种各样的问题,这是软件维护。这一系列过程就是软件的生命周期,有人得负责软件项目的管理。一个好的软件,即使功能和同类软件区别不大,但是会让人感觉到非常好用,这就是软件的用户体验。用户体验和数据结构、算法没有直接的关系,但是很多非常成功的软件就赢在这个方面。

      上面这些和软件开发活动(构建管理、源代码管理、软件设计、软件测试、项目管理)相关的内容,是软件工程的核心部分。广义上的软件工程也包括用户体验、用户界面设计等。所以,一个推论是:软件=程序+软件工程。一个扩展的推论是:软件企业 = 软件 + 商业模式。程序(算法、数据结构)是基本功,但是在算法和数据结构之上,软件工程决定了软件的质量;商业模式决定了一个软件企业的成败。

      在最开始还没有读构建之法这本书时,我写的代码很乱很乱,往往是想到哪里写哪里,到最后自己也不知道那些功能能实现,哪些不能实现,而且由于上学期的数据结构学的并不是很好,导致现在写代码很困难,算法更不用说,都是很差劲。在读了一部分构建之法这本书时,我开始越来越注重代码规范以及数据结构和算法的学习。希望以后会学的越来越好。

  • 相关阅读:
    Django中实现加载渲染模版
    【干货】批量文件合拼 cat 命令的使用
    【Sql】获取数据库字段信息
    【C#】 TxtHelper
    【Css】鼠标
    【HTTP】H5唤醒支付宝
    【dotnet】程序集注入
    【OpenXml】excel 导入导出
    一、API​​网关
    【kafka】二、kafka的基本概念
  • 原文地址:https://www.cnblogs.com/yuanxiaochou/p/10939696.html
Copyright © 2020-2023  润新知