长沙手机网站设计郴州旅游

news/2025/9/23 11:29:15/文章来源:
长沙手机网站设计,郴州旅游,ui设计案例欣赏分析,wordpress cx udy楔子四年前我虽然也写了很多年代码#xff0c;由于公司虽然规模不小#xff0c;却并非一家规范化的软件公司#xff0c;因此在项目中严格意义上来说并没有架构设计、也不写单元测试#xff0c;后来有幸加入了一家公司#xff0c;这家公司虽然也是一家小公司#xff0c;但… 楔子四年前我虽然也写了很多年代码由于公司虽然规模不小却并非一家规范化的软件公司因此在项目中严格意义上来说并没有架构设计、也不写单元测试后来有幸加入了一家公司这家公司虽然也是一家小公司但是好歹曾经聘请过一位架构师这位架构师使用spring.net 搭建了一套基础的技术架构并在公司推广使用EnterpriseArchiture(EA)软件设计UML图但是由于种种原因他试用期还没过只是简单的设计了几个业务之后就离职了。我加入这家公司的时候距离这位架构师离职也已经有相当长的时间未能直接学习的机会但是非常还能接触到这位优秀架构师留下来的部分代码和资料这为我的职场之路打开了新的窗户从这些资料中学到了许多之前一直想学但是没机会学的内容并第一次接触到单元测试这种技术。然而值得讽刺的是在他搭建的项目架构中单元测试代码也只有一个简单的示例并没有针对业务功能编写任何的具体测试代码而实际上经手这个项目的开发者已经超过了几十个人其实这也从一个侧面说明中国相当一部分.Net 开发者跟我一样几乎都不写单元测试。甚至是不少开源代码贡献者他们贡献的开源组件也并没有设计单元测试的代码。但是再来看国外的一些优秀的开源组件往往也都会提供单元测试的代码TDD实际上正是一种非常便捷高效门槛低的设计模式。后来我经手的每一个项目都会按照TDD的方式写单元测试但是依然没有深刻领悟单元测试的精髓只是把它当做代码调试的一个入口而已。其实这种单元测试依然不合格尤其是认真的运行一下代码覆盖率报告之后就会发现单元测试的代码覆盖率只有10个点与微软的官方标准单元测试覆盖率100%相比简直就是不合格。什么是单元测试一直以来大家有一种错误的理念总是认为单元测试作为一种测试方法主要是由测试工程师来主导的一种测试手段。并非如此借用教科书上的说法单元测试作为一种最基础的测试手段其主要作用是“在计算机编程中针对程序模块最软件设计中的最小单元进行正确性检验的测试工作。”之前曾经阅读过一篇文章作者提了一个例子他说他儿子在使用乐高积木做玩偶过程中组装完一些零部件之后就会试图去测试一下部件是否能够正常运转作者说这种过程实际上就是一种单元测试。他认为单元测试的思想其实普遍存在于人类文明的发展过程中从人类开始制作工具来说就需要使用单元测试的方法对工具的可用性进行测试。尤其是进入工业时代以来传统制造业尤其重视产品质量为了提高产品质量采取了一系列措施这种例子其实不胜枚举。去年我曾经有幸为一家国企开发过一些质量管理系统并深入了解了这些企业的质量管理流程虽然从宏观层面来看以互联网经济为代表的新兴经济对以包括制造业在内的实体经济带来了许多冲击但是依然那些优秀的制造业企业依然坚定的将产品质量作为核心竞争力并通过互联网的这种模式让企业的发展获得了新的机遇。软件行业其实本质上和制造业没有那么巨大的区别以软件开发过程中由软件工程师们开发出来的每一个方法实际上就是开发者们解决虚拟世界生存问题的零部件每一个产品或应用就是这样的工具。在一个软件开发过程中往往需要涉及到多人操作经常需要调用别人编写的模块代码。尤其是在面向互联网开发中如果不能认真的对待每一行代码就有可能一些疏忽大意造成不可弥补的后果。因此做好单元测试不仅仅只是开发者们应该采用的一种测试手段而是应该是一种基本的技术手段对我们开发的每一行代码都应该使用单元测试进行覆盖自己负责的模块定义应该尽量明确模块内部的更改不会影响他模块让模块的质量得到稳定和良好的保证。为什么大家认为单元测试不合时宜当然大部分开发者也许明白这个道理但是却认为单元测试不合时宜主要包括以下几点1没有时间 ---- 在软件开发过程中往往以完成任务为第一要务而由于时间计划的安排单元测试的设计和实践均需要花费大量的时间完成过度的使用单元测试会拖延项目的进度而且花费的边界成本高昂而收效甚微。 ---- 笔者认为跟随代码一起设计和应用单元测试并不会显著的带来时间上的损害反而会让开发者更加关注代码本身的目的让输入输出和计算过程更为合理。2计划会变化需求变化快单元测试跟不上需求的变化 由于软件产品需求的不确定性导致之前设计的单元测试并非符合项目的实际功能性需求没必要花费这个精力设计这种没用的场景。 ----笔者认为需求变化与是否应用单元测试关系不大。3单元测试是用来找Bug的应该有测试来编写 单元测试作为一种测试手段是为了发现代码中存在的bug。 --- 笔者认为单元测试的目的是为了让程序作者更加快捷的发现代码中存在的问题并在第一时间发现和解决从而保障软件质量。4有程序员定义的单元测试没有意义因为程序员设定的逻辑场景就有可能不准确 单元测试作为由程序员根据实际用例出发设计的测试流程本身可能并非符合业务的实际应用需要因此单元测试应该由最了解需求的人来进行设计。而且完成单元测试设计后也需要有了解需求的人对单元测试用例和代码进行审查。 --- 笔者认为由程序员开发的单元测试没有意义那么他写的代码呢写代码本身就是为了完成指定的用例场景如果单元测试都不合理那么如何确保代码本身就合理5、TDD测试驱动不过是一种形式主义本身就不合时宜 在TDD模式中测试先于开发所以需要经过良好的设计和定义最好能够解耦合各个模块让代码更加完美的匹配测试代码。但是这种代码本身就要求经验丰富的开发者才能完成而能够完成这种能力的本身就属于优秀开发者并不需要设计单元测试代码。 -- 笔者认为优秀的开发者本身不仅仅只是因为他们出身优秀而是因为他们掌握了包括单元测试等在内的优秀学习方法并每天都在实践。好的单元测试的标准笔者最近阅读《构建之美》第一版深刻认同提出的关于好的单元测试的标准例如以下几点 1、单元测试应该在最低的功能\参数上验证程序的正确性。 2、单元测试应该由最熟悉代码的人程序的作者来写。 3、单元测试过后机器状态保持不变。---笔者认为不仅仅机器的状态应该保持不变数据中存储的数据关系也应该保持不变例如通过单元测试录入的数据应该在完成测试后自动回滚或者添加测试戳记后手动清除。 4、单元测试要快一个测试的运行时间是几秒钟而不是几分钟。 5、单元测试应该产生可重复、一致的结果。 6、单元测试具有独立性的特点单元测试的运行、通过、失败不依赖于别的测试可以认为构造数据以保持单元测试的独立性。 7、单元测试应该负载所有的代码路径。 8、单元测试应该继承到自动测试的框架中。 9、单元测试必须与产品代码一起保存和维护。何妨不试一试呢在软件企业的发展前期往往会由于技术上的一些偶发性突破取得短期的优势但是随着企业的规模发展使用更加规范化甚至成为形式化的方式确保产品的质量是必然趋势而单元测试则是一种看似简单但却效果显著的手段相信通过一段时间的实践就会深刻的领悟到其中的妙处。由于时间仓促可能没什么干货下一篇再进一步讨论单元测试、代码覆盖率的问题。原文地址https://www.cnblogs.com/xiyuanMore/p/10618130.html.NET社区新闻深度好文欢迎访问公众号文章汇总 http://www.csharpkit.com

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

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

相关文章

9.23 资料分析 7/10

9.23 资料分析 7/101.转换问题 转换为混合增长率技巧 思路问题

2. Spring AI 快速入门使用 - Rainbow

2. Spring AI 快速入门使用 @目录2. Spring AI 快速入门使用快速使用接入deepseek流式对话options配置选项temperature(温度)建议maxTokens stop模型推理原理:接入阿里百炼使用文生图文生语音text2audio语音翻译aud…

PyCharm 2025.1安装包下载与安装教程

软件介绍 PyCharm 2025.1 是 JetBrains 推出的革命性 Python 集成开发环境,采用统一版本架构整合了专业版与社区版功能。核心功能如 Jupyter Notebook 支持、基础代码编辑、调试器及版本控制完全免费开放,同时推出 P…

阿里将发布多模态模型 Qwen3-Omni,主打多语言与复杂推理;DeepvBrowser 上线 AI 语音浏览器丨日报

开发者朋友们大家好:这里是 「RTE 开发者日报」 ,每天和大家一起看新闻、聊八卦。我们的社区编辑团队会整理分享 RTE(Real-Time Engagement) 领域内「有话题的 技术 」、「有亮点的 产品 」、「有思考的 文章 」、…

Word文档内容批量替换脚本 - wanghongwei

word_replace_v1.py # -*- coding: utf-8 -*- """ Word文档批量替换脚本功能说明: 1. 递归处理当前目录及所有子目录中的Word文档(.docx格式) 2. 将文档中的指定文本替换为新文本,同时保留原有格式 3…

网站推广视频的服务方案网站建设技术列表

连接ESP8266开发板到电脑 虚拟机选择开发板硬件连接 查看USB连接情况: lsusb 授权USB接口访问 成功连接 编译项目 上传到开发板 成功提供WIFI热点服务

荆门做网站公众号的公司企业网站备案网址

前言 最近我在Vue 3.3的项目中对Vant4做按需导入时,尽管按照Vant4的官方指南进行操作,但样式仍然无法正确加载。经过深入研究和多篇文章的比较,我终于找到了在Vue3中如何正确的按需导入Vant 4组件和样式的方法。由于Vue3.3和Vant4相对较新&am…

服务器创建多个网站吗seo引擎搜索

5. 命令 本部分描述了 LAMMPS 输入脚本的格式以及其中的命令如何用于定义 LAMMPS 模拟。主要包括以下内容。 5.1. LAMMPS 输入脚本 5.2.输入脚本的解析规则 5.3.输入脚本结构 本部分描述了典型的 LAMMPS 输入脚本的结构。 LAMMPS 发行版中的示例目录包含许多示例输入脚本…

不注册公司可以做网站吗wordpress文学模板

文章转载: https://www.howtoforge.com/tutorial/how-to-install-oracle-database-12c-on-centos-7/

居家养老网站建设wordpress侧边栏折叠

聚沙成塔每天进步一点点 ⭐ 专栏简介⭐ 原型(Prototype)和原型链(Prototype Chain)⭐ 原型(Prototype)⭐ 原型链(Prototype Chain)⭐ 继承属性和方法⭐ 写在最后 ⭐ 专栏简介 前端入…

做企业网站都需要注意哪点赤峰seo

在平时,我们经常会碰到让一个div框针对某个模块上下左右都居中(水平垂直居中),其实针对这种情况,我们有多种方法实现。 方法一: 绝对定位方法:不确定当前div的宽度和高度,采用 transform: trans…

商城网站开发多在上海做兼职去哪个网站搜索

现如今,随着网络技术的进步,许多的场合都会需要光纤收发器进行远距离的传输,以致于现在国外和国内生产光纤收发器厂商非常多,产品线也极为丰富。收发器都是电转光的网络结构。接下来我们就来为大家详细介绍下单模光纤收发器以及光…

做女装代理需要自建网站么设计师网站接单

STM32 PVD掉电检测功能的使用方法 前言 在实际应用场景中,可能会出现设备电源电压异常下降或掉电的情况,因此,有时候需要检测设备是否掉电,或者在设备掉电的瞬间做一些紧急关机处理,比如保存重要的用户数据&#xff…

VMware ESXi 磁盘置备类型详解

VMware ESXi 磁盘置备类型详解在平时运维VMware ESXi虚拟化环境时,经常要创建虚拟机,而创建虚拟机必要的操作之一是配置磁盘。而磁盘的制备方式有三种类型分别为:精简置备、厚置备延迟置零和厚置备置零,许多用户往…

EF 数据迁移生成sql脚本

创建迁移add migration xxxx生成sqlScript Migration xxx xxxx

HWiNFO 硬件信息检测工具下载与安装教程

软件介绍 HWiNFO是一款专业且全面的硬件信息检测工具,自1996年发布以来持续更新,被广泛用于硬件分析、性能优化和故障诊断。该工具支持检测CPU、主板、内存、显卡、硬盘、显示器、声卡、网卡等几乎所有硬件组件的详细…

第七章 手写数字识别V1

# 导入必要的库 import numpy as np import os import struct import matplotlib.pyplot as plt# 定义导入函数 def load_images(path):with open(path, "rb") as f:data = f.read()magic_number, num_items…

西电PCB设计指南1~2章学习笔记

西电PCB设计指南1~2章学习笔记 一、引言部分三大主流PCB设计软件:AD、PADS、Candence 好像现在还有:kicad、嘉立创EDA等等会用软件,能够 “布通 ”是远远不够的!二、PCB基础知识PCB的组成和概念PCB的内部结构PCB易…

南昌建设企业网站公司网站开发工程师要考什么证

2011 年 3 月 31 日,美国网络社区 Reddit 发起“世界备份日(World Backup Day)”倡议活动,号召人们做好数据安全备份。于是每年愚人节前一天成为“世界备份日”,口号很有趣 Don’t Be An April Fool,Backup Your Data&…

广州做网站技术响应式网站开发方法

前言 PWA做为一门Google推出的WEB端的新技术,好处不言而喻,但目前对于相关方面的知识不是很丰富,这里我推出一下这方面的入门教程系列,提供PWA方面学习。 什么是PWA PWA全称Progressive Web App,直译是渐进式WEB应用…