首页 > 其他分享 >代码大全1

代码大全1

时间:2022-12-04 20:35:15浏览次数:31  
标签:源代码 软件开发 代码 构建 软件 活动 子程序 大全

从本月开始,开始阅读《代码大全2》这本书,在本书的前言中作者非常简要的说明了在现在编程中所存在的问题:近年来,关于软件开发的研究,进展是非常迅速的,但是开发实践却并非如此。许多程序仍然是错误百出,充斥着过时的技术,从而无法满足用户需要。在这种背景下,作者写下了这本书。
第一章主要围绕软件构建进行展开,讲解了什么事软件构建还有软件构建为什么如此重要。本章的主题是熟悉软件开发流程,区分哪些是”构建活动“需要做的事情,哪些是”非构建活动“需要做的事情。
软件构建可以分为三个阶段,每个阶段中包括不同的内容。第一阶段为准备阶段,包括定义问题,需求分析和软件构架。第二阶段是构建阶段,包括详细设计,规划构建,编码与调试,单元测试和集成测试。第三阶段为测试与维护阶段,包括集成,系统测试和保障维护。
在上面这些过程中,可以分为两种活动。一种是构建活动,另一种是非构建活动。其中构建活动就是软件编写过程中动手的部分,构建活动主要是编码与调试。但也涉及详细设计、规划构建、单元测试、集成、集成测试等其他活动。构建需要可观的创造力和判断力。在全书中,我也常常用“编程”代替“构建”。非构建活动包括管理、需求分析、软件架构设计、用户界面设计、系统测试,以及维护。以上每一项活动都像构建活动一样最终影响着项目的成败——至少能影响任何有不止一两个人参与、超过几周时间才能完成的项目的成败。
构建活动是软件开发的主要组成部分,也是软件开发中的核心活动。构建活动的产物——源代码——往往是对软件的唯—精确描述。在一些项目中,程序员唯一能够得到的就是源代码本身,因此源代码必须要有尽可能高的性能。
在第一章的最后,作者介绍了应当如何阅读这本书,从我自身来看,我认为我目前最想学习的是特定的编程技巧,因此我将从第六章"可以工作的类"开始进行阅读。
构建高质量的类,作者介绍了ADT抽象数据类型,能够隐藏实现细节和内部数据,降低耦合,增加可读性,方便维护。在一个高质量的类中,应当有如下的部分。1.良好的类接口,类的接口应该展现一致的抽象层次,根据类就大概能知道类的作用。在类中可以把不相关的部分转移到其他的类中。2.良好的封装,尽可能地限制类和成员的可访问性
避免公开成员数据,少用protected降低派生类和基类间的耦合,在不是很坚定的情况下,尽量选择更严格的访问级别。
在创建类之前,我们也应当知道创建类的原因,有可能是为了事物的抽象模型,降低复杂度。
也可能是为了隐藏全局数据,限制数据的影响范围,还有可能是为了传递参数,让代码更加流畅美观。
之后讲解了高质量的子程序,在子程序层的实际上我们应当注意子程序中各种操作联系的紧密程度,如果子程序之间的联系不够紧密,代码出错的可能性将会大大提升。同时子程序应当有一个好的名字,可以更加直观的看到子程序的功能,让你更加清晰流畅的调用各种子程序。

标签:源代码,软件开发,代码,构建,软件,活动,子程序,大全
From: https://www.cnblogs.com/wrf1/p/16950611.html

相关文章

  • 代码大全2
    在《代码大全2》第八章,介绍了防御式编程,防御式编程的主要思想:不是指编程时抱着防备别人批评和攻击的态度,而是建立一种永远不知道他人将如何使用你的程序的思想。我们在编写......
  • 给Typora的代码块设置默认语言
    1、链接下载ahk。https://autohotkey.com/download/ahk-install.exe 并安装2、编写脚本:新建一个txt文本,utf-8格式,将代码粘贴到文本内,扩展名为:ahk1#IfWinActiveahk_e......
  • 一行代码搞定整站灰度主题
    最近看到很多网站都是灰色的,这个是如何实现的呢?其实做法特别简单,css3里边有个滤镜属性,这个和photoshop里边的滤镜是一样的。关于滤镜属性就不在这里赘述了,大家可以点这里......
  • 详解cycleGAN(生成对抗网络)代码
    文章目录​​1.cycleGAN简介​​​​2.cycle代码详解​​​​main.py​​​​module.py​​​​model.py​​​​总结​​1.cycleGAN简介关于cGAN我主要参考了知乎量子位的......
  • 字符串-00003-堆上字符串-测试代码
    main.c头文件请参考:https://www.cnblogs.com/kxwslmsps/p/16949213.html实现文件myString.c请参考:https://www.cnblogs.com/kxwslmsps/p/16949223.html#include"myS......
  • octave的代码主要
    %samp3_27.mr=linspace(0,2*pi,60);[u,v]=meshgrid(r);x=(8+3*cos(v)).*cos(u);y=(8+3*cos(v)).*sin(u);z=3*sin(v);plot3(x,y,z);title('三维绘图');xlabel('x......
  • git合入代码过程中问题记录
    问题一、对远端仓库没有操作权限ERROR:Repositorynotfound.fatal:Couldnotreadfromremoterepository.定位思路1.检查git代码仓的公钥是否存在在github上仓......
  • Spring源码-01-调试代码
    Spring源码-01-调试代码Spring源码工程下新建模块用于调试源码一新建模块名称以spring为前缀二引入依赖plugins{id'java'}group'org.springframework'......
  • Jenkins+GitLab实现构建JAVA代码
    目录一、前置环境配置二、创建一个maven任务需要提前部署完成Jenkins+GitLab+maven可以参考我的其他文章进行部署一、前置环境配置1、安装MavenIntegration插件Jenki......
  • Request_获取请求行数据_方法介绍以及代码演示
    Request_获取请求行数据_方法介绍以及代码演示request功能:获取请求消息获取请求行数据GET/demo3?name=zhangsanHTTP/1.1......