《构建之法》——第四章

本章内容是讲“两人合作”,众所周知——“三个臭皮匠赛过诸葛亮”,无乱是从事什么活动或者工作,可见合作的力量是1+1>2

一、重要性:

软件开发的过程是复杂的,显然的一个人的智慧是不够的,遇到问题一起解决,工作一起分担能使开发的效率提高很多。以后到公司团队工作,合作很大程度上实现优势互补,比如说有人擅长界面设计,有人擅长实现功能,这样的合作能减少工作量提高整个开发效率。有些人技术很好,可是在沟通这方面十分欠缺,这是很不利于合作的,在项目的开发中,一旦项目出现问题或者自己对一些代码功能的修改都要及时跟同伴沟通,不然将给其他人带来很多不必要麻烦,比如数据库表的字段未经过同意就修改字段,其他开发人员恰好也用到这张表,却不知字段被修改,将会带来很多额外的工作。

二、如何合作:代码规范、代码复审

1、合作说易不易,合作的好势必效率质量调高,如果只是自己做自己当然失去合作的意义

作为一位程序员,难免会因为各种各样的原因要阅读其他人的代码,这时候我们往往会有数不尽的吐槽和疲倦。虽然现在我们在学校写的都是项目而且都是一个人完成,对这样的场景还没有深刻体会,但是以后出去工作,避免不了要加入新项目,阅读其他人代码是常有的事,下面是如何进行代码规范:

1.1  去除没有用到的类引用,eclipse里面Ctrl+Shilft+O

1.2  记得格式化代码,eclipse里面Ctrl+Shilft+F

1.3  不要吝惜废弃的老代码,eclipse里面Ctrl+D

1.4  不要写冗余无用的代码

1.5  空行可以用来隔开相对独立的代码块,有利于阅读和理解

1.6  不要在两个地方出现完全相同的代码,可以用重用

1.7 命名类,方法,变量慎用简写,开发前规定好,而且要有意义

1.8 把所有的类变量放到最前面,不要乱放,找起来很辛苦

1.9  拆分大的类,大的方法,如果类有一万行,如果方法有一千行吗,看了很难受

1.10 善于运用注释,能提醒自己写的是什么内容,而且命名的英文,未必别人理解自己想表达的内容

2、代码复审:在“代码规范”的框架内正确解决问题(自我复审、同伴复审、团队复审),最基本的复审手段是同伴复审

复审的目的:找出代码的错误、发现逻辑错误、发现算法错误、发现潜在的错误和回归性错误、发现可能改进的地方、教育传授经验给开发人员

如何复审:

复审前:代码必须成功地编译,在所有要求的平台上,同时要编译DeBug Reteil版本;程序员必须测试过代码

复审中:面对面复审、独立复审或其他方式

复审后:更正明显错误、记录无法修改的错误、记录自己的一个“常犯错误”(近一步自我复审)

时间: 2024-10-10 23:19:35

《构建之法》——第四章的相关文章

Python学习笔记_Chapter 4数据保存到文件

1. What For 将基于内存的数据存储到磁盘上,达到持续存储. 2. HOW 方法一: 将数据写到文件中 常规的处理方式 1 #file.x被打开的文件,model打开文件的方式 2 out=open('file.x','model') 3 #print将item写入到file指示的文件中,item可以是字符串或列表等 4 print(item,file=out) 5 #close是必须的,起到刷新输出的作用 6 out.close() open('file','model')中model

系统分析员考试复习笔记-4:第四章 数据通讯与计算机网络

 1.      第四章数据通讯与计算机网络(P143) 计算机网络源于计算机技术与数据通讯技术的结合,它通过网络链路将分布在各个地理位置的多台独立的计算机相互连接起来,从而形成一种网络,并在网络操作系统.网络管理软件和网络通讯协议的管理和协调下,实现资源(硬件.软件和数据)共享. 1.1.      数据通讯基础知识 1.1.1.     信道特性 各种数据终端设备交换数据,必然要传输数据(模拟信号或者数字信号),数据传输的路径称为信道.信道可以分为物理信道和逻辑信道.物理信道由传输介质和

第四章《数据保存到文件》

知识点: stript():去除空白字符 print()保存 代码: try: with open('its.txt','w') as data: print("it's...",file=data) except IOError as err: print('file error: '+str(err)) man=[]other=[]try: data = open('sketch.txt') for each_line in data : try: (role,line_spoke

【数据分析 R语言实战】学习笔记 第四章 数据的图形描述

4.1 R绘图概述 以下两个函数,可以分别展示二维,三维图形的示例: >demo(graphics) >demo(persp) R提供了多种绘图相关的命令,可分成三类: 高级绘图命令:在图形设备上产生一个新的图区,它可能包括坐标轴.标签.标题等. 低级绘图命令:在一个己经存在的图形上加上更多的图形元素,如额外的点.线和标签. 交互式图形命令:允许交互式地用鼠标在一个已经存在的图形.上添加图形信息或者提取图形信息. 使用R语言作图,主要按照以下步骤进行: ①取原始数据,准备好绘图需要的变量. ②

如何将前端数据保存到文件

有时候,网页上需要提供将当前页面上的数据导出为本地文件的功能,例如将页面上的一个表格导出为csv文件.这个功能看似简单,实际上却没有什么直接的方法.由于导出文件的操作(比如浏览文件目录,创建本地文件等)已经超出了浏览器内JS解释器的职责范围,需要和操作系统交互了,所以如果没有浏览器提供接口支持,是没法导出文件的.但是,有一个巧妙的办法,就是使用<a>元素(https://stackoverflow.com/questions/13405129/javascript-create-and-sav

Python 脚本生成测试数据,Python生成随机数据,Python生成大量数据保存到文件夹中

代码如下: import random import datetime import time dataCount = 10*100*100 #10M. codeRange = range(ord('a'),ord('z')) alphaRange = [chr(x) for x in codeRange] alphaMax = len(alphaRange) daysMax = 42003 theDay = datetime.date(1900,1,1) def genRandomName(n

把BitmapSource图片数据保存到文件

实现函数: /// <summary> /// 保存图片到文件 /// </summary> /// <param name="image">图片数据</param> /// <param name="filePath">保存路径</param> private void SaveImageToFile(BitmapSource image, string filePath) { BitmapE

补基础:自学:计算机科学导论 第四章 数据运算

4.1 逻辑运算:指那些应用于模式中的一个二进制位,或在两个模式中相应的两个二进制位的相同基本运算. 4.1.1 位层次上的逻辑运算 0 代表逻辑 假, 1 代表逻辑 真. 4种操作: 非(NOT):只有一个输入 如果输入是0, 则输出为1.反之亦然 应用:对整个模式求反 与(AND)有两个输入 如果输入都是1, 则输出为1.输入中只要有一位是0,则结果为0 应用:把一个位模式的指定位复位(置0).这种情况下,第二个输入称为掩码,掩码中的0位对第一个输入中相应的位进行复位. 或(OR)有两个输入

php导出csv数据在浏览器中输出提供下载或保存到文件的示例

来源:http://www.jb51.net/article/49313.htm 1.在浏览器输出提供下载 /** * 导出数据到CSV文件 * @param array $data 数据 * @param array $title_arr 标题 * @param string $file_name CSV文件名 */ function export_csv(&$data, $title_arr, $file_name = '') { ini_set("max_execution_tim

Head First Python 第二章 函数模块&amp;第三章 文件与异常&amp;第四章 持久存储&amp;第五章 处理数据

第三章 1.共享模块 模块和发布工具箱全世界共享模块 编写函数,以.py为文件后缀名,第三方库都在PyPI *注释代码:三引号(单双都可以) 发布过程P40 使用发布工具,函数模块变成了一个“发布”,可以使用import导入其他程序 2.如果函数模块功能不满意 添加参数以供api选择比添加函数工作量小! 首先考虑BIF内置函数 ----------------------------------------------------------- 第四章 1.文件 open()语句,readlin