代码走查

面向对象软件工程知识点

本秂侑毒 提交于 2020-02-01 11:16:17
面向对象软件工程知识点 1.封装是指把对象的(A)结合在一起,组成一个独立的对象。 A.属性和操作 B.信息流 C.消息和事件 D.数据的集合 2.状态图和活动图建立了UML面向对象开发过程中的对象动态(B)模型。 A.交互 B.状态 C.体系结构 D.软件复用 3.UML的(C)模型图由活动图、顺序图、状态图和合作图组成。 A.用例 B.静态 C.动态 D.系统 4.在UML的需求分析建模中,对用例模型中的用例进行细化说明应使用(A)。 A.活动图 B.状态图 C.配置图 D.构建图 5.设计模式就是对(D)的描述或解决方案,往往直接对应一段程序代码。 A.某个构件 B.成熟的设计 C.一个用例 D.特定问题 6.类和对象都有属性,它们的差别是:类描述了属性的类型,而对象的属性必须有(C)。 A.正负号 B.动作 C.具体值 D.私有成员 7.顺序图的模型元素有(A)、消息、生存线、激活期等,这些模型元素表示某个用例中的若干个对象和对象之间所传递的消息,来对系统的行为建模。 A.对象 B.箭头 C.活动 D.状态 8.状态图可以表现(B)在生存期的行为、所经历的状态序列、引起状态转移的事件以及因状态转移而引起的动作。 A.一组对象 B.一个对象 C.多个执行者 D.几个子系统 9.使得在多个类中能够定义同一个操作或属性名,并在每一个类中有不同的实现的一种方法是(B)。 A.继承

findBugs学习小结

余生长醉 提交于 2020-01-11 03:22:03
今天代码质量再次强调java代码提交SVN前要经过findBugs检查,虽然根据菜单我也基本会有findBugs插件,但为了更全面的学习、更高效的利用,我搜索学习了findbugs的用法。 检查原理 Findbugs是一个静态分析工具,它检查类或者JAR 文件,将字节码与一组缺陷模式进行对比以发现可能的问题。Findbugs自带检测器,其中有60余种Bad practice,80余种Correctness,1种 Internationalization,12种Malicious code vulnerability,27种Multithreaded correctness,23种Performance,43种Dodgy。我们还可以自己配置检查规则(做哪些检查,不做哪些检查),也可以自己来实现独有的校验规则(用户自定义特定的bug模式需要继承它的接口,编写自己的校验类,属于高级技巧)。   白盒测试中的静态检查一般是检查编码标准规范,错误列表。编码规范往往团队会根据自己的经验和风格进行设置一些规范。现在很多IDE工具都会在编辑代码的时候实时的提醒是否符合代码风格。错误列表,一般是代码潜在的bug,由于某种代码写法虽然没有语法错误,但是可能存在错误,比如会导致线程死锁。这些都是错误列表应该检查的。静态检查的可操作方式:  1、代码走查:   程序员之间可以隔一定的时间抽取代码进行走查。

敏捷开发:代码Review

空扰寡人 提交于 2020-01-07 08:15:31
热情高涨 代码走查作为一种流程形式,起初大家的参与热情非常高涨。 因为,自己可以学习到别人一些巧妙的思想,自己的代码和习惯都暴漏出来。 这个过程中不断地吸收和改正。 但是。。。。。。 我们一开始组织的代码走查是一个很重的会议形式。 参加的人有写这段代码的人(小菜)、比较有经验的开发(大佬) 如果为了再隆重一些,请一些领导也参与其中。 但是。。。。。。 我上面提过了,会议很重,协调时间这个事情就是一个很费时间的事情。 还有就是,大家恨不得对每一句代码都发表自己的意见,往往非常的细枝末节。 导致会议时间经常在2小时以上,3小时时间就一般不得不停止。 大家都很累,再就是效果如何呢? 如果小菜自律性不够,甚至没人进行监督,这次的审查的代码不是都会修改。 因为有一些确实太过于鸡蛋挑骨头,根本改不动。 热情褪去 不知不觉中,这种方式慢慢褪去。代码走查成为了一个优先级、频次都不高的活动。 有很多原因,上面说的形式太重是一个,还有就是大家都很忙了,没有进行持续跟进导致效果不佳。 但是。。。。。。 也都知道代码走查对一些新人来说,成长史毋庸置疑的。收获也是毋庸置疑的。 慢慢大家也都放下了。只是每次项目迭代中作为一个硬性要求执行一次罢了。 痛 我们小组里面只有我还有一个刚毕业一年多的女生。 在我们组内的一个项目中,我总是以任务重为由,没有进行代码走查。这个持续了很长时间。 一个字 —— 懒

Code review应该怎么做

五迷三道 提交于 2019-12-19 23:45:27
代码评审有两种不同的方法,一种是代码走查,一种是代码审查,我们这里讨论的仅指代码走查。通常自己写的代码都难以发现问题,需要以第二双眼睛再次检查代码,帮助我们及时地发现潜在的问题。 做代码审查之前,团队成员间需要达成一个共识,制定一份合理的代码规范标准。以此为前提,后续再补充,否则会事倍功半,可以以下面为例: Code review 不应该承担发现代码错误的职责。Code Review主要是审核代码的质量以及团队内部知识共享而不是以缺陷和错误来批判他人,也不需要评论,表扬或是批评;如可读性,可维护性,以及程序的逻辑和对需求和设计的实现。代码中的bug和错误应该由单元测试,功能测试,性能测 试,回归测试来保证的(其中主要是单元测试,因为那是最接近Bug,也是Bug没有扩散的地方) Code review 不应该成为保证代码风格和编码标准的手段,代码规范与代码优化一定要区分开,不可相提并论。首先每个程序员的提交review的代码就应该是符合规范的,属于每个人自己的事情,不应该交由团队来完成。其次,作为一个审查者,你的任务不是确保被审查的代码都采用你的编码风格,因为它不可能跟你写的一模一样,而是要确保被审查的代码的正确性。 Code review不应该仅仅只是走查,评审就完事了,还需要进行质量分析,CODING企业版产品集成了代码评审和质量分析功能。 1.

剑客之剑系列续篇:六脉神剑——PyCharm使用宝典

泪湿孤枕 提交于 2019-12-15 05:08:15
文章目录 1. 前言 2. PyCharm的六脉神剑 2.1 工程管理——少商剑:石破天惊 2.1.1 创建工程 2.1.2 切换工程 2.2 环境管理——商阳剑:难以捉摸 2.2.1 切换Python环境 2.2.2 添加环境 2.2.3 Python模块管理 2.3 模板管理——中冲剑:气势雄迈 2.3.1 文件模板 2.3.2 Live Templates 2.3.3 docstring 2.4 代码编辑——少冲剑:轻灵迅速 2.4.1 自动补全 2.4.2 代码重构 2.4.3 代码纠错 2.4.4 代码规范 2.4.5 超级滚动条 2.5 代码调试——少泽剑:变化精微 2.5.1 断点调试 2.5.2 SciView 2.5.3 自动中断 2.6 版本控制——关冲剑:拙滞古朴 2.6.1 本地版本控制 2.6.2 Git和SVN 3. 后记 1. 前言 前些日子,我在 CSDN 博客平台上以《剑客之剑》作为系列篇名,一口气分享了三款编辑器的使用体验。这篇三文章分别是: 《剑客之剑——君子剑(Notepad++)》 《剑客之剑——倚天剑(Vim)》 《剑客之剑——玄铁重剑(VS Code)》 原计划 PyCharm 是《剑客之剑》系列的第四篇,本想一鼓作气写完的,无奈因短时间内发力过猛,气血不足,无以为继,只好先闭关修炼了两周。今日出关,终于可以继续聊聊 PyCharm 了

日常工作中VBA代码积累

孤街浪徒 提交于 2019-12-04 06:44:42
1、超链接地址提取 Function GetURL(rng As Range) As String On Error Resume Next GetURL = rng.Hyperlinks(1).Address End Function 2、表格多sheet页的目录跳转制作 (代码走查表为例) (1)针对整个工作簿,即 ThisWorkbook,输入以下代码。 Sub 超链接() Dim ct As Long Sheet5.Rows("2:100000").ClearContents For ct = 1 To Sheets.Count If Sheets(ct).Name <> "目录" And Sheets(ct).Name <> "代码问题" Then Sheet5.Range("a100000").End(xlUp).Offset(1, 0) = Sheets(ct).Name Sheet5.Hyperlinks.Add Anchor:=Sheet5.Range("a100000").End(xlUp), Address:="", SubAddress:="'" & Sheets(ct).Name & "'!A1" End If Next End Sub (2)制作宏,并赋在相应按钮中,进行点击刷新。 Sub 宏1() ' ' 宏1 宏 ' ' Range("A5")

grunt相关

假如想象 提交于 2019-12-02 12:31:22
原文链接 Grunt 安装nodejs   Grunt和所有grunt插件都是基于nodejs来运行的,如果你的电脑上没有nodejs,就去安装吧。安装nodejs非常简单,完全傻瓜式、下一步下一步下一步、的安装方式,这里不再赘述。去 https://nodejs.org/ 上,点击页面中那个绿色、大大的 “install” 按钮即可。   安装了nodejs之后,可以在你的控制台中输入“node -v”来查看nodejs的版本,也顺便试验nodejs是否安装成功。   注意两点。第一,grunt依赖于nodejs的v0.8.0及以上版本;第二,奇数版本号的版本被认为是不稳定的开发版,不过从官网上下载下来的应该都是偶数的稳定版。 安装grunt-CLI 注意,如果你的电脑不联网,以下操作你都做不了,所以,首先保证电脑联网。   “CLI”被翻译为“命令行”。要想使用grunt,首先必须将grunt-cli安装到全局环境中,使用nodejs的“npm install…”进行安装。如果你不了解nodejs的npm如何安装软件,这里就先不要问了,先照着我说的做。   打开控制台(注意:windows系统下请使用管理员权限打开),输入: npm install -g grunt-cli # -g表示全局安装 注意,mac os 系统、部分linux系统中,在这句话的前面加上 “sudo”

2019-2020-1学期 20192406 《网络空间安全专业导论》第三周学习总结

纵饮孤独 提交于 2019-12-01 23:31:49
第六章 低级程序设计语言与伪代码 6.1 计算机操作 我们所用的程序设计语言都必须反映出计算机能够执行的操作类型。让我们通过重述计算机的定义来开始新的讨论:计算机是能够存储、检索和处理数据的可编程电子设备。 这个定义中的操作字包括 可编程的 、 存储 、 检索 和 处理 。上一章指出了数据和操作数据的指令逻辑上是相同的,它们存储在相同的地方。这就是“可编程的”这个词的意义所在。操作数据的指令和数据一起存储在机器中。要改变计算机对数据的处理,只需要改变指令即可。 存储、检索和处理 是计算机能够对数据执行的动作。也就是说,控制单元执行的指令能够把数据 存储 到机器的内存中,在机器内存中 检索 数据,在算术逻辑单元中以某种方式 处理 数据。词语“处理”非常通用。在机器层,处理涉及在数据值上执行算术和逻辑操作。 6.2 机器语言 机器语言 :由计算机直接使用的二进制编码指令构成的语言 Pep/8:一台虚拟机 虚拟机 :为了模拟真实机器的重要特征而设计的假想机器 Pep/8反应的重要特征 回忆第5章中所说的,寄存器是中央处理器中算术/逻辑单元的一小块存储区域,它用来存储特殊的数据和中间值。Pep/8有七个寄存器,我们重点研究其中三个: 程序计数器(PC) , 其中包含下一条即将被执行的指令的地址。 指令寄存器(IR) , 其中包含正在被执行的指令的一个副本。 累加器 (是一个寄存器)。

Web测试概述

倖福魔咒の 提交于 2019-11-28 14:52:48
web应用程序测试方法和测试技术详述 1. 概述 l 随着web应用的增多,新的模式解决方案中以web为核心的应用也越来越多, 很多公司各种应用的架构都以B/S及web应用为主,但是有关WEB测试方面的内容并没有相应的总结,所以我在这里对web的测试方法和采用的测试技术进行总结,便于内部交流。 l 测试方法尽量涵盖web程序的各个方面,测试技术方面在继承传统测试技术的技术上结合web应用的特点。 l 相关的测试和实现技术也有着很大的关系,由于本公司使用J2EE体系,也许例子中只有JAVA平台可以使用,.NET平台测试技术暂时不涉及,如果你有请与我联系。 2. 测试方法 说明:测试方法的选择取决你的测试策略。 l 一般的web测试和以往的应用程序的测试的侧重点不完全相同,基本包括以下几个方面。 l 当然圆满的完成测试还要有好的团体和流程等的方方面面的支持,你同样应该对这些方面进行注意。 l 有些测试方法设计到了流程,哪些应该在你的测试团队建设中建立。 2.1 界面测试 l 现在一般人都有使用浏览器浏览网页的经历,用户虽然不是专业人员但是对界面效果的印象是很重要的。如果你注重这方面的测试,那么验证应用程序是否易于使用就非常重要了。很多人认为这是测试中最不重要的部分,但是恰恰相反界面对不懂技术的客户来说那相当关键,慢慢体会你会明白的。 l 方法上可以根据设计文档

Code Review(-)

余生颓废 提交于 2019-11-27 09:54:39
Code Review 做软件开发的时间转眼也有三年有余,所在的团队也使用了各种各样的代码质量控制方法,个人觉得Code Review是一个最有效的方法,同时也是“性价比”最高的代码质量控制方法。现将个人的一些观点和看法总结一下 什么是Code Review Code Review 中文的翻译方式有很多种“代码审查”,“代码评审”,“代码走查”等,个人更喜欢“代码走查”这种翻译。代码走查是一个流程,从开发人员在一个开发阶段写好代码后开始,之后需要别人以发现bug和技术交流为目的review一下他的代码。它是集代码审查,找出问题,改进代码和改后督查为一体的完整的流程。代码走查一般在代码刚刚出炉为最好,因为在这个时候也是代码重构和调整的最佳时候。 Code Review的目的及内容 功能性Review: 通过Review检查当前代码是否全部实现了需求里面全部的功能点,且功能正确。找出代码中的bug,每个人在写和读代码的时候都有固有的习惯,这样的一些习惯往往会影响代码的质量。比如:我们在代码编写过程中都出现过类似的问题,自己代码中的问题自己无论看了多少遍都发现不了,但别人一眼就能发现问题。出现这样的情况并不是说写代码的人水平不高而是个人编程中的“无意识”错误。当然这也就是结队编程的妙处。 可读性Review: 代码做为软件开发过程中最实时的文档,同时为了以后维护方便一定要有高度的可读性