编辑推荐:38位大师级的程序员,一步步讲解他们的项目架构,开发时的种种折中考虑(tradeoffs)以及何时必须打破常规,寻求突破。
全球38位顶尖高手、众多语言之父经典之作。
本书收录的是软件设计领域中的一组大师级作品。
每一章都是由一位或几位著名程序员针对某个问题给出的完美的解决方案,并且细述了这些解决方案的巧妙之处。
本书既不是一本关于设计模式的书,也不是一本关于软件工程的书,它告诉你的不仅仅是一些正确的方式或者错误的方式。
它让你站在那些优秀软件设计师的肩膀上,从他们的角度来看待问题。
本书给出了38位大师级程序员在项目设计中的思路、在开发工作中的权衡,以及一些打破成规的决策。
内容简介:本书介绍了人类在一个奋斗领域中的创造性和灵活性:计算机系统的开发领域。
在每章中的漂亮代码都是来自独特解决方案的发现,而这种发现是来源于作者超越既定边界的远见卓识,并且识别出被多数人忽视的需求以及找出令人叹为观止的问题解决方案。
本书33章,有33位作者,每位作者贡献一章。
每位作者都将自己心目中对于“美丽的代码”的认识浓缩在一章当中,张力十足。
33位大师,每个人对代码之美都有自己独特的认识,现在一览无余的放在一起,对于热爱程序的每个人都不啻一场盛宴。
虽然本书的涉猎范围很广,但也只能代表一小部分在这个软件开发这个最令人兴奋领域所发生的事情。
目录信息:第1章正则表达式匹配器。
1.1编程实践1.2实现1.3讨论1.4其他的方法1.5构建1.6小结第2章Subversion中的增量编辑器:像本体一样的接口2.1版本控制与目录树的转换2.2表达目录树的差异2.3增量编辑器接口2.4但这是不是艺术?2.5像体育比赛一样的抽象2.6结论第3章我编写过的最漂亮代码3.1我编写过的最漂亮代码3.2事倍功半3.3观点3.4本章的中心思想是什么?3.5结论3.6致谢第4章查找4.1.耗时4.2.问题:博客数据4.3.问题:时间,人物,以及对象?4.4.大规模尺度的搜索4.5.结论第5章正确、优美、迅速(按重要性排序):从设计XML验证器中学到的经验5.1XML验证器的作用5.2问题所在5.3版本1:简单的实现5.4版本2:模拟BNF语法——复杂度O(N)5.5版本3:第一个复杂度O(logN)的优化5.6版本4:第二次优化:避免重复验证5.7版本5:第三次优化:复杂度O(1)5.8版本6:第四次优化:缓存(Caching)5.9从故事中学到的第6章集成测试框架:脆弱之美6.1.三个类搞定一个验收测试框架6.2.框架设计的挑战6.3.开放式框架6.4.一个HTML解析器可以简单到什么程度?6.5.结论第7章美丽测试7.1讨厌的二分查找7.2JUnit简介7.3将二分查找进行到底7.4结论第8章图像处理中的即时代码生成第9章自顶向下的运算符优先级9.1.JavaScript9.2.符号表9.3.语素9.4.优先级9.5.表达式9.6.中置运算符9.7.前置操作符9.8.赋值运算符9.9.常数9.10.Scope9.11.语句9.12.函数9.13.数组和对象字面量9.14.要做和要思考的事第10章追求加速的种群计数10.1.基本方法10.2.分治法10.3.其他方法10.4.两个字种群计数的和与差10.5.两个字的种群计数比较10.6.数组中的1位种群计数10.7.应用第11章安全通信:自由的技术11.1项目启动之前11.2剖析安全通信的复杂性11.3可用性是关键要素11.4基础11.5测试集11.6功能原型11.7清理,插入,继续……11.8在喜马拉雅山的开发工作11.9看不到的改动11.10速度确实重要11.11人权中的通信隐私11.12程序员与文明第12章在BioPerl里培育漂亮代码12.1.BioPerl和Bio::Graphics模块12.2.Bio::Graphics的设计流程12.3.扩展Bio::Graphics12.4.结束语和教训第13章基因排序器的设计13.1基因排序器的用户界面13.2通过Web跟用户保持对话13.3.多态的威力13.4滤除无关的基因13.5大规模美丽代码理论13.6结论第14章优雅代码随硬件发展的演化14.1.计算机体系结构对矩阵算法的影响14.2一种基于分解的方法14.3一个简单
2023/11/20 12:23:22 49.42MB 《代码之美》 中文 完整版 pdf
1
Python3+unittest+requests+excel实现接口自动化测试框架源码
2023/11/15 19:53:41 4.19MB unittest python
1
SENG2021项目与API通信的Web服务器。
依存关系构建依赖项::CMake是一个跨平台的开源构建系统生成器。
:Googletest是一个现代的C++测试框架。
:Pistache是​​一个用于C++的现代且优雅的异步HTTP和REST框架。
:Boost提供免费的经过同行评审的可移植C++源库。
:Curl是一个免费且易于使用的客户端URL传输库。
运行时依赖项::IMDb是与电影和其他视觉媒体有关的信息的在线数据库。
:OMDbAPI是一种RESTfulWeb服务,用于获取电影信息。
(需要专用API密钥):英文中最常用的普通名词列表。
从源头建造要下载最新的可用版本,请通过github克隆此存储库。
$gitclonehttps://github.com/nJ3ahxac/seng2021_project.g
2023/11/9 9:50:42 25KB C++
1
入门软件测试,对web网页测试框架梳理,整理思路(可能会下载freemind),不懂的私
2023/11/8 8:58:50 40KB 软件测试
1
TDD(Test-DrivenDevelopment)测试驱动开发是敏捷开发中的一项核心实践和技术,也是一种设计方法论。
TDD得原理是在开发功能代码之前,先编写单元测试用例代码,测试代码确定需要编写什么产品代码。
TDD虽是敏捷方法的核心实践,但不只适用于XP(ExtremeProgramming),同样可以适用于其他开发方法和过程。
TDD得基本思路就是通过测试来推动整个开发得进行,但测试驱动开发并不只是单纯的测试工作,而是把需求分析,设计,质量控制量化的过程。
TDD的重要目的不仅仅是测试软件,测试工作保证代码质量仅仅是其中一部分,而且是在开发过程中帮助客户和程序员去除模棱两可的需求。
TDD首先考虑使用需求(对象、功能、过程、接口等),主要是编写测试用例框架对功能的过程和接口进行设计,而测试框架可以持续进行验证。
2023/10/6 15:37:02 7.46MB TDD(Test-Driven Development) SpringMVC
1
本文内容包括:FIT化的解决方案FIT和JUnit测试用的FIT表格用装备进行装配查看FIT运行Acasestudy该构建了!标记团队测试结束语参考资料JUnit假定测试的所有方面都是开发人员的地盘,而集成测试框架(FIT)在编写需求的业务客户和实现需求的开发人员之间做了协作方面的试验。
这是否意味着FIT和JUnit是竞争关系呢?绝对不是!代码质量完美主义者AndrewGlover介绍了如何把FIT和JUnit两者最好的地方结合在一起,实现更好的团队工作和有效的端到端测试。
在软件开发的生命周期中,每个人都对质量负有责任。
理想情况下,开发人员在开发周期中,用像Junit和TestNG这样的测试工
2023/9/29 1:20:23 438KB 追逐代码质量:决心采用FIT
1
写过UI自动化测试脚本的朋友,相信都会遇到过,比如前端页面元素改了,又需要去改自己写的脚本,而且只能针对某个web页面的定制化设计,换个web项目就不灵了。
我就在考虑,为什么UI自动化框架就不能通用在不同的系统呢?然后针对这个,设计了现在的UI自动化测试框架,实现了简单的通用,每次只需要维护好用例就行了,维护成本降低。
大家都知道,基于selenium函数,对页面元素的操作,很多都是点击、输入参数、处理iframe、处理alert、下拉框动作这几类,然后语法基本是固定的。
那是不是可以针对这个情况,对操作类型进行一个封装,不管你要做什么操作,经过判断调用对应的方法就好了。
使用文档在testcase中
2023/8/3 21:25:24 2.21MB 通用UI自动
1
Android提供了一系列强大的测试工具,它针对Android的环境,扩展了业内标准的JUnit测试框架。
尽管你可以使用JUnit测试Android工程,但Android工具允许你为应用程序的各个方面进行更为复杂的测试,包括单元层面及框架层面。
Android测试环境的主要特征有:1.可以访问Android系统对象。
2.Instrumentation框架可以控制和测试应用程序。
3.Android系统常用对象的模拟版本。
4.运行单个test或testsuite的工具,带或不带Instrumentation。
5.支持以Eclipse的ADT插
2023/7/25 5:25:15 102KB Testing和Instrumentation
1
JUnit是一个Java语言的单元测试框架
2023/7/5 6:05:35 308KB junit
1
Jmeter接口自动化测试框架是我自己写的文档,很适合想入门接口自动化的人,该文档很详细,没有一点跳步,值得想入门的人看
2023/7/1 5:47:57 557KB 自动化测试
1
共 51 条记录 首页 上一页 下一页 尾页
在日常工作中,钉钉打卡成了我生活中不可或缺的一部分。然而,有时候这个看似简单的任务却给我带来了不少烦恼。 每天早晚,我总是得牢记打开钉钉应用,点击"工作台",再找到"考勤打卡"进行签到。有时候因为工作忙碌,会忘记打卡,导致考勤异常,影响当月的工作评价。而且,由于我使用的是苹果手机,有时候系统更新后,钉钉的某些功能会出现异常,使得打卡变得更加麻烦。 另外,我的家人使用的是安卓手机,他们也经常抱怨钉钉打卡的繁琐。尤其是对于那些不太熟悉手机操作的长辈来说,每次打卡都是一次挑战。他们总是担心自己会操作失误,导致打卡失败。 为了解决这些烦恼,我开始思考是否可以通过编写一个全自动化脚本来实现钉钉打卡。经过一段时间的摸索和学习,我终于成功编写出了一个适用于苹果和安卓系统的钉钉打卡脚本。
2024-04-09 15:03 15KB 钉钉 钉钉打卡