《代码大全2》第1章 欢迎进入软件构建的世界

目录

前言

1.1 什么是软件构建

1.1.1 ”构建活动“与”非构建活动“

1.1.2 ”构建活动“相对于其他软件开发活动的地位

1.1.3 ”构建活动“的具体任务

1.2 “构建活动”为何如此重要?

1.2.1 ”构建活动“重要的原因

1.3 如何阅读这本书


《Code_Complete_2》持续更新中......_@来杯咖啡的博客-CSDN博客这本书有意设计成使你既可以从头到尾阅读,也可以按主题阅读。1. 如果你想从头到尾阅读,那么你可以直接从第2章“用隐喻来更充分地理解软件开发”开始钻研。2. 如果你想学习特定的编程技巧,那么你可以从第6章“可以工作的类”开始,然后根据交叉引用的提示去寻找你感兴趣的主题。3. 如果你不确定哪种阅读方式更适合你,那么你可以从第3章3.2节“辦明你所从事的软件的类型”开始。.....................https://blog.csdn.net/qq_43783527/article/details/126275083

前言

       按照一般的用法,“构建”是指建设的过程。构建过程可能包含有计划(产品需求)设计(产品设计、开发设计)检查工作(测试)的一些方面

本章主题

1、熟悉软件开发流程(由哪些活动组成);

2、区分哪些是”构建活动“需要做的事情,哪些是”非构建活动“需要做的事情;

1.1 什么是软件构建

        开发计算机软件己是一个复杂的过程。在过去25 年间,研究者己经认识到在软件开发过程中涉及到各种不同的活动(activity),可以理解软件构建,就是由这些活动组成

  1. 定义问题 (problem definition)
  2. 需求分析 (requirements development), 用户界面设计等
  3. 软件架构 (sofiware architecure),或高层设计(high-level design)
  4. 详细设计 (detailed design)
  5. 规划构建 (construction planning)
  6. 编码与调试 (coding and debugging)
  7. 单元测试 (unit testing)
  8. 集成测试 (integration testing)
  9. 集成 (integration)
  10. 系统测试 (system testing)
  11. 保障维护 (corrective maintenance)

软件构建可分为三个阶段:准备阶段(构建活动前(非构建活动))、构建活动测试与维护阶段(构建活动后(非构建活动))。

1.1.1 ”构建活动“与”非构建活动“

        上面的这些”活动“可以分为两部分:一部分是”构建活动“,另一部分是”非构建活动“。多数时候,”构建活动“就是整个软件构建过程中动手的那部分

        1、构建活动主要是编码调试。但也涉及详细设计规划构建单元测试集成集成测试等其他活动。构建需要可观的创造力和判断力。在全书中,我也常常用“编程”代替“构建

        2、一些重要的非构建活动包括管理(management)、需求分析、软件架构设计、用户界面设计、系统测试,以及维护。以上每一项活动都像构建活动一样最终影响着项目的成败——至少能影响任何有不止一两个人参与、超过几周时间才能完成的项目的成败。关于其中每一项活动,你都可以找到相关的书籍。

1.1.2 ”构建活动“相对于其他软件开发活动的地位

 图1-1是一张软件开发的平面图,图1-2给出了本书的立体视图:

1.1.3 ”构建活动“的具体任务

        图1-1 和图1-2都是关于构建活动的高层次视图,但细节是什么?这里列出一些构建活动中的具体任务(task):

  • 验证有关的基础工作已经完成,因此构建活动可以顺利地进行下去。
  • 确定如何测试所写的代码。
  • 设计并编写类(class)和子程序 (routine)。
  • 创建并命名变量(variable)和具名常量 (named constant)
  • 选择控制结构 (control structure),组织语句块
  • 对你的代码进行单元测试和集成测试,并排除其中的错误。
  • 评审开发团队其他成员的底层设计和代码,并让他们评审你的工作。
  • 润饰代码,仔细进行代码的格式化和注释。
  • 将单独开发的多个软件组件集成为一体。
  • 调整代码(tuning code),让它更快、更省资源。

1.2 “构建活动”为何如此重要?

1.2.1 ”构建活动“重要的原因

原因如下:

  • 构建活动是软件开发的主要组成部分。 根据项目规模的不同,构建活动在整个软件开发活动总时间中所占的比例一般在30%至80%之间。在整个项目中占有这么多时间的活动必然会影响到项目的成败。
  • 构建活动是软件开发中的核心活动需求分析和架构设计都是在构建活动开始之前就完成的基础工作,它们可以让你更有效地进行构建系统测试(严格意义上的独立测试)则是构建活动的后续工作,用以验证构建的正确性。显然,构建活动位于软件开发过程的核心位置。
  • 构建活动的产物——源代码——往往是对软件的唯—精确描述在很多项目中,程序员可以得到的唯一文档就是源代码本身需求规格书和设计文档可能过时,但源代码总是最新的。因此,源代码就必须具有尽可能高的质量。统一地运用各种技术来改进源代码的质量,将决定得到的结果是 Rube Golaberg 所造的古怪产品’,还是一个详细、正确且信息丰富的程序。这些技术在构建活动中能得到最有效的应用。
  • 构建活动是唯一一项确保会完成的工作。 一个理想的软件项目在进行构建之前,都要经过谨慎的需求分析和架构设计。一个理想的项目在构建完成之后,也要经历全面的、统计意义上受控制 (Statistically controlled)的系统测试。然而现实中不那么完美的软件项自,往往跳过需求和设计的阶段而直接跃入构建环节。之后又由子有太多的错误要修正而时间又不够,测试环节也被抛到一边了。但是,无论一个项目的计划有多匆忙、多糟糕,它都不可能扔下构建活动——这是不可或缺的环节。因此,对构建活动进行改进,是改进软件开发过程的一种有效途径。

1.3 如何阅读这本书

 这本书有意设计成使你既可以从头到尾阅读,也可以按主题阅读。

1. 如果你想从头到尾阅读,那么你可以直接从第2章“用隐喻来更充分地理解软件开发”开始钻研。

2. 如果你想学习特定的编程技巧,那么你可以从第6章“可以工作的类”开始,然后根据交叉引用的提示去寻找你感兴趣的主题。

3. 如果你不确定哪种阅读方式更适合你,那么你可以从第3章3.2节“辦明你所从事的软件的类型”开始。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/70040.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Plato Farm农场经营,如何玩转元宇宙

从2021年开始,GameFi赛道迎来了整体的爆发,尤其是一些顶级GameFi游戏的表现,让我们进一步看到了这个赛道整体的爆发力以及发展的潜力。目前,在这GameFi板块中,除了Decentraland、The SandBox以及Axie Infinity、Farmer…

类似鹅厂的H5农场游戏,牧场游戏 博主亲自搭建

1.支持 三种动物的饲养 2.支持多种植物的种植 3.用农贸市场 4.有分享推广奖励 下载地址:原价6800的H5农场牧场游戏源码数据库文档亲自搭建-HTML5文档类资源-CSDN下载

最新开源同城本地生活平台源码系统 含完整代码包+搭建教程

分享一个最新开源同城本地生活平台源码系统,支持同城外卖跑腿商城家政等功能,含完整代码包搭建教程。 图片: 系统功能一览: 1、整合本地信息商家服务等资源,提供外卖、跑腿、美容、家政等服务; 2、运营盈…

H5农场牧场养殖鸡蛋理财鸡游戏运营网站搭建开发项目源码

2022全新H5农场牧场养殖鸡蛋理财鸡游戏运营源码/对接免签约支付接口/带视频架设学习教程 牧场养殖养鸡游戏,母鸡能够下蛋,鸡蛋能够买卖,游戏里自带交易商城,具体的玩法和规则游戏里面有详情。 和那些区块链的模式差不多&#xf…

农庄规划软件测试,《模拟农场17》游戏评测:现代化农场让你学会如何种田

作者:Ind4V 来源:游侠攻略组 转载请注明出处。 【游戏介绍】 游戏将包含所有农场类型,包括畜牧业,种植业,销售,林木业,游戏采用沙盒世界。管理超大地图的农场。根据游戏系统,用户将掌…

文明6中文版版下载 整合风云变幻+迭起兴衰全DLC 免steam 修改器

点击立即下载 游戏介绍 《文明6(Civilization VI)》是由Firaxis制作的一款策略类游戏,《文明》系列的续作,本作建构在《文明》系列的坚实基础上,而且增添了许多精彩的新元素。 背景故事 最早由传奇游戏设计大师席德梅…

多多农场游戏源码果园种植+养殖游戏 对接广告联盟APP+小程序

本游戏是一款休闲娱乐种植养殖游戏,可集成在商城系统里面做积分引流,以供用户娱乐,也可以APP对接广告联盟,从而使运营者获得相应广告收益。 功能介绍 1.土地:农场土地共分为12块,新用户默认1块。扩建土地需要消耗100…

共226款Html5小游戏源码分享

项目地址:https://download.csdn.net/download/Highning0007/87337627 <!DOCTYPE html> <html><head langen><meta charsetUTF-8><title>226款Html5小游戏源码</title><meta nameviewport content" widthdevice-width, initial-s…

仿羊了个羊H5游戏源码

仿羊了个羊H5游戏源码&#xff0c;《羊了个羊》是一款卡通背景消除闯关游戏&#xff0c;游戏利用各种道具和提示来消除每一个关卡当中的障碍和陷阱。最近在微信小程序里非常火的一款小游戏&#xff0c;一度造成后太服务器瘫痪。 这个是仿《羊了个羊》的H5小游戏源码&#xff0…

农场游戏果园系统+牧场养殖系统+广告联盟模式流量主游戏小程序APP V1

前端js游戏引擎 免费的egret视频学习资料 关注技术公众号【清兮科技】回复【egret】免费获取 主要功能包含&#xff1a;种植、养殖、广告、日志、公告、排行榜、好友、商店、仓库、推广、兑换中心、装扮、大转盘、每日任务、签到等 具体功能&#xff1a; 1.果园种子包含&…

【Pygamre实战】2023人气超高的模拟经营类游戏:梦想小镇代码版火爆全场,免费体验分享下载哦~

前言 梦想还是要有的&#xff0c;万一实现了呢&#xff1f;&#xff01;今天小编就来用代码实现自己专属的城市——特大都市&#xff1a; 梦想小镇启航。顾名思义&#xff0c;梦想小镇是梦想花开之地。自己当市长不香嘛&#xff01; 所有文章完整的素材源码都在&#x1f447;…

羊了个羊游戏h5网页版源码

羊了个羊游戏h5网页版源码 h5网页版&#xff0c;数据还是官方的&#xff0c;一个小demo。 无后台下载附件源码&#xff0c;上传至服务器访问域名即可 不可商业&#xff0c;不可商业&#xff0c;不可商业 只限交流学习 免广告用道具 下载地址 https://www.126zy.com/797.html

链游Farmers World【农民世界】爆火,发布一个免费开源的辅助挂机脚本

初衷 《GameFi爆火&#xff0c;【农民世界】崛起&#xff0c;浅谈链游辅助脚本开发思路》 https://blog.csdn.net/CharlesSimonyi/article/details/121413962 上一篇文章中&#xff0c;我们讲到了链游 Farmers World【农民世界】 https://farmersworld.io 的爆火&#xff0c;…

itchat 实现微信智能机器人

itchat 实现微信智能机器人 GitHub https://github.com/andytt/WeChat_auto_robot 思路 晚上已经有不少itchat图灵机器人实现个人小助手的Code了。这里添加了更细致的控制、发送问候、撤回消息检测等等功能 功能 可以智能回复对话&#xff0c;并可以查询天气、新闻、火车、…

一个命令就可启用的微信机器人WhoChat

WhoChat 地址&#xff1a;https://github.com/amchii/whochat 一个依赖于 ComWeChatRobot提供的Com接口的微信机器人&#xff0c;在此之上提供了: 发布至PyPI&#xff0c;可以一键安装命令行支持&#xff0c;可以方便通过命令操作&#xff08;见下面使用说明&#xff09;Web…

Python操控微信,实现微信机器人

自从微信禁止网页版登陆之后&#xff0c;itchat 库实现的功能也就都不能用了&#xff0c;那现在 Python 还能操作微信吗&#xff1f;答案是&#xff1a;可以&#xff01; 在Github上有一个项目叫《WeChatPYAPI》可以使用 Python 对微信进行操控。简单来说&#xff0c;它是通过…

使用Wechaty实现微信机器人操作

wechaty WechatyWechaty token什么是wechaty token如果获取wechaty token Wechaty 与微信Hook的区别Wechaty会不会被封号自己的一个Wechaty的开源项目 Wechaty Wechaty 按照我的理解就是一个可以实现微信机器人的多端协议框架。为什么说是多端呢&#xff0c;因为他包含了微信p…

REMIX:重构·连接·进化|徐亚波博士D3大会演讲实录

“欢迎大家和数说故事一起来到新世界&#xff0c;和我们一起&#xff0c;来玩一个AI普适场景的无限游戏。” 在数说故事第六届D3智能营销峰会上&#xff0c;数说故事创始人兼CEO徐亚波博士带来「REMIX——重构连接进化」的主题分享&#xff0c;聚焦“ChatGPT开启的AGI时代有什么…

UBUNTU虚拟机镜像安装后无法联网解决办法

在虚拟机中安装Ubuntu 18.04.6 LTS的过程中&#xff0c;遇到了问题&#xff1a;当我把镜像源更改好之后&#xff0c;运行apt-get update命令&#xff0c;突然发现不能联网&#xff0c;如下图&#xff0c;之后访问baidu验证&#xff0c;确实也无响应&#xff1b; 但是其他装好的…

实在智能魅力抢眼!携超自动化解决方案和校企合作新范式点燃第七届世界智能大会

为深入实施创新驱动发展战略&#xff0c;推动智能科技赋能经济社会发展&#xff0c;促进校企双方交换需求清单&#xff0c;全方位搭建校企握手通道&#xff0c;5月18日&#xff0c;由国家发展和改革委员会、科学技术部、国家广播电视总局、中国科学院等联合主办的第七届世界智能…