《.NET最佳实践》
《.NET最佳实践》
基本信息
原书名:Pro .NET Best Practices
原出版社: Apress
作者: (美)Stephen Ritchie
译者: 黄灯桥 黄浩宇 李永
丛书名: 华章程序员书库
出版社:机械工业出版社
ISBN:9787111449126
上架时间:2013-12-20
出版日期:2014 年1月
开本:16开
页码:283
版次:1-1
所属分类:计算机 > 软件与程序设计 > .NET > 综合
更多关于》》》 《.NET最佳实践》
内容简介
书籍
计算机书籍
《.net最佳实践》是.net领域的集大成之作和公认经典。书中总结了大量.net开发人员公认的最佳实践,并有针对性地阐明了如何恰当地在个人、小组、组织和行业中应用这些最佳实践。书中的最佳实践涵盖.net开发的方方面面,从基础技术到核心技术,从开发方法到开发流程,从开发工具到团队协作,等等。所有最佳实践都辅之以实际的项目案例,并对案例代码进行了深入分析,实践性和可操作性极强。
全书可分为四个部分。第一部分(第1~5章)着重教授你如何选择和发现这些实践,如何提升团结度,如何量化这些实践等。第二部分(第6~9章)专注于开发人员个人的实践。第6章涵盖.net规章制度标准和指南,识别并避免“代码异味”的技巧。第7章以非常规的方式来重新审视c#语言,带给你全新体验。第8章分享了多个符合高效开发原则的测试代码改进方法。第9章介绍生成自动化,以消除易错步骤,便于生成和部署。第三部分(第10~12章)重点介绍支持的工具、产品和技术。第10章介绍持续集成的流程和步骤,同时分析持续集成可利用的产品和工具。第11章推荐并分析诸多实用的代码分析(静态和动态)的工具、技术和方法。第12章综合介绍多种商业的及开源的测试框架和工具。第四部分(第13章)告诉你如何说服对采用最佳实践存在反感和偏见的组织和个人。本书还附有评估、跟踪最佳实践的记分卡。
目录
《.net最佳实践》
译者序
前 言
第1章 冷静待之 1
1.1 实践选择 3
1.1.1 可行性 3
1.1.2 认可度 5
1.1.3 价值 6
1.1.4 原型 6
1.2 关注需要改善的目标领域 7
1.2.1 产品交付 8
1.2.2 软件质量 9
1.2.3 团队关系 10
1.3 整体改善 11
1.3.1 均衡 11
1.3.2 面貌一新 12
1.3.3 可持续性 12
1.4 小结 13
第2章 .net实践领域 15
2.1 从内部挖掘 17
2.1.1 技术债 17
2.1.2 缺陷跟踪系统 18
2.1.3 反思分析 19
2.1.4 前瞻性分析 20
2.2 应用程序生命周期管理 20
2.3 设计模式和开发指南 22
2.3.1 .net设计规范 23
2.3.2 微软的模式和实践小组 23
2.3.3 显示界面层设计模式 24
2.3.4 对象–对象映射 25
2.3.5 依赖注入 25
2.4 研究和开发 26
2.4.1 自动化测试生成工具 27
2.4.2 契约式编码 30
2.5 微软安全开发生命周期 30
2.6 小结 32
第3章 实现预期目标 33
3.1 成功要素 34
3.1.1 项目启动阶段 37
3.1.2 超出范围 38
3.1.3 干扰和分心 38
3.1.4 学习与工作之间的平衡 39
3.2 共识 39
3.2.1 线框图 40
3.2.2 文档化架构 41
3.2.3 报表模型 42
3.2.4 细节化示例 42
3.2.5 创建原型 43
3.3 预期目标 44
3.3.1 交付 44
3.3.2 实际成果 44
3.3.3 趋势 46
3.4 小结 47
第4章 量化价值 48
4.1 价值 50
4.1.1 财务回报 50
4.1.2 提高可控性 51
4.1.3 提高质量品质 52
4.1.4 更加高效 53
4.2 数据来源 54
4.2.1 定量数据 54
4.2.2 定性数据 57
4.2.3 业界证据 58
4.3 小结 59
第5章 战略 60
5.1 认知 62
5.1.1 头脑风暴 62
5.1.2 规划 63
5.1.3 监控 64
5.1.4 沟通 64
5.2 个体过程 66
5.2.1 卓越的承诺 67
5.2.2 良性的纪律 67
5.2.3 效力和坚持 68
5.3 杠杆 69
5.3.1 自动化 69
5.3.2 警报系统 70
5.3.3 经验和专业知识 71
5.4 小结 71
第6章 .net的规章制度 72
6.1 编码标准和指南 73
6.1.1 来源 73
6.1.2 异常 75
6.1.3 disposable模式 78
6.1.4 其他事项 82
6.2 代码异味 86
6.2.1 注释 86
6.2.2 过于复杂 88
6.2.3 未用到的、无法到达的和无效的代码 89
6.3 小结 89
第7章 强大的c#构造 90
7.1 扩展方法 91
7.2 隐式类型的局部变量 94
7.3 可以为null的类型 96
7.4 null合并运算符 98
7.5 可选参数 99
7.6 泛型 102
7.7 linq 103
7.8 小结 108
第8章 自动测试 109
8.1 案例研究 111
8.2 棕色地带的应用程序 112
8.3 绿色地带的应用程序 114
8.4 自动测试基础 115
8.5 测试代码的可维护性 115
8.5.1 命名约定 116
8.5.2 测试方法主体 119
8.6 单元测试 131
8.6.1 边界分析 133
8.6.2 无效参数 134
8.6.3 无效的前提条件 136
8.7 伪造、存根和模拟 137
8.7.1 隔离被测试代码 137
8.7.2 测试依赖交互 139
8.8 表面测试 140
8.9 自动集成测试 143
8.10 数据库注意事项 144
8.11 小结 145
第9章 生成自动化 146
9.1 生成工具 147
9.2 msbuild基础 148
9.2.1 任务和目标 148
9.2.2 propertygroup和itemgroup 150
9.2.3 基本任务 154
9.3 日志 155
9.4 参数和变量 157
9.5 库和扩展 159
9.6 导入和包含 160
9.7 内联任务 161
9.8 常见任务 163
9.8.1 日期和时间 163
9.8.2 程序集信息 164
9.8.3 xml的peek和poke 165
9.8.4 zip存档 166
9.9 自动部署 167
9.9.1 生成一次,部署多次 168
9.9.2 打包工具 169
9.9.3 部署工具 169
9.10 小结 170
第10章 持续集成 171
10.1 案例研究 172
10.2 ci服务器 173
10.2.1 cruisecontrol.net 174
10.2.2 jenkins 175
10.2.3 teamcity 175
10.2.4 team foundation server 176
10.3 ci生命周期 176
10.3.1 重新生成 177
10.3.2 单元测试 182
10.3.3 分析 184
10.3.4 打包 187
10.3.5 部署 188
10.3.6 稳定性测试 190
10.3.7 生成报告 192
10.4 小结 192
第11章 代码分析 193
11.1 案例研究 195
11.2 静态分析 196
11.2.1 程序集分析 197
11.2.2 源代码分析 205
11.2.3 架构和设计 211
11.2.4 代码度量值 213
11.2.5 质量保证指标 213
11.3 动态分析 214
11.3.1 代码覆盖率 214
11.3.2 性能分析 216
11.3.3 查询分析 217
11.3.4 日志 217
11.4 小结 218
第12章 测试框架 219
12.1 单元测试框架 220
12.2 测试运行器 221
12.2.1 nunit的gui和控制台运行器 221
12.2.2 resharper测试运行器 224
12.2.3 visual studio测试运行器 227
12.2.4 gallio测试运行器 230
12.2.5 xunit.net测试运行器 231
12.3 xunit测试模式 233
12.3.1 标识测试方法 233
12.3.2 标识测试类和夹具 234
12.3.3 断言 239
12.4 模拟对象框架 240
12.4.1 使用rhino mocks动态生成伪对象 240
12.4.2 使用moles进行隔离测试 243
12.5 数据库测试框架 248
12.6 用户界面测试框架 252
12.6.1 web应用程序测试框架 252
12.6.2 windows窗体和其他用户界面测试框架 253
12.7 验收测试框架 253
12.7.1 测试规范和行为 254
12.7.2 业务逻辑验收测试 255
12.8 小结 256
第13章 反感和偏见 257
13.1 团体利益偏见 258
13.2 玫瑰色回顾 259
13.3 团体与个人的评价 260
13.4 维持现状和辩解机制 260
13.5 优势错觉 261
13.6 达克效应 261
13.7 鸵鸟效应 262
13.8 赌徒谬误 263
13.9 歧义效应 263
13.10 集中效应 264
13.11 双曲贴现 264
13.12 常态偏见 265
13.13 小结 265
附录a 参考资源 266
附录b 记分卡 279
《.NET最佳实践》的更多相关文章
- 简单物联网:外网访问内网路由器下树莓派Flask服务器
最近做一个小东西,大概过程就是想在教室,宿舍控制实验室的一些设备. 已经在树莓上搭了一个轻量的flask服务器,在实验室的路由器下,任何设备都是可以访问的:但是有一些限制条件,比如我想在宿舍控制我种花 ...
- 利用ssh反向代理以及autossh实现从外网连接内网服务器
前言 最近遇到这样一个问题,我在实验室架设了一台服务器,给师弟或者小伙伴练习Linux用,然后平时在实验室这边直接连接是没有问题的,都是内网嘛.但是回到宿舍问题出来了,使用校园网的童鞋还是能连接上,使 ...
- 外网访问内网Docker容器
外网访问内网Docker容器 本地安装了Docker容器,只能在局域网内访问,怎样从外网也能访问本地Docker容器? 本文将介绍具体的实现步骤. 1. 准备工作 1.1 安装并启动Docker容器 ...
- 外网访问内网SpringBoot
外网访问内网SpringBoot 本地安装了SpringBoot,只能在局域网内访问,怎样从外网也能访问本地SpringBoot? 本文将介绍具体的实现步骤. 1. 准备工作 1.1 安装Java 1 ...
- 外网访问内网Elasticsearch WEB
外网访问内网Elasticsearch WEB 本地安装了Elasticsearch,只能在局域网内访问其WEB,怎样从外网也能访问本地Elasticsearch? 本文将介绍具体的实现步骤. 1. ...
- 怎样从外网访问内网Rails
外网访问内网Rails 本地安装了Rails,只能在局域网内访问,怎样从外网也能访问本地Rails? 本文将介绍具体的实现步骤. 1. 准备工作 1.1 安装并启动Rails 默认安装的Rails端口 ...
- 怎样从外网访问内网Memcached数据库
外网访问内网Memcached数据库 本地安装了Memcached数据库,只能在局域网内访问,怎样从外网也能访问本地Memcached数据库? 本文将介绍具体的实现步骤. 1. 准备工作 1.1 安装 ...
- 怎样从外网访问内网CouchDB数据库
外网访问内网CouchDB数据库 本地安装了CouchDB数据库,只能在局域网内访问,怎样从外网也能访问本地CouchDB数据库? 本文将介绍具体的实现步骤. 1. 准备工作 1.1 安装并启动Cou ...
- 怎样从外网访问内网DB2数据库
外网访问内网DB2数据库 本地安装了DB2数据库,只能在局域网内访问,怎样从外网也能访问本地DB2数据库? 本文将介绍具体的实现步骤. 1. 准备工作 1.1 安装并启动DB2数据库 默认安装的DB2 ...
- 怎样从外网访问内网OpenLDAP数据库
外网访问内网OpenLDAP数据库 本地安装了OpenLDAP数据库,只能在局域网内访问,怎样从外网也能访问本地OpenLDAP数据库? 本文将介绍具体的实现步骤. 1. 准备工作 1.1 安装并启动 ...
随机推荐
- MVC公开课 – 2.查询,删除 (2013-3-15广州传智MVC公开课)
查询 /Controller/HomeController.cs /// <summary> /// 查询 文章 列表 /// </summary> /// <retur ...
- 「Ionic」WebStorm的使用錯誤-
前言:遇到這個錯誤,不要慌張,搶按照濤叔下面的方式處理就可以了. 1.Couldn't find ionic.config.json file. Are you in an Ionic project ...
- float数据类型
学习一门语言都要打好基础,前面的知识可能看着无聊,但是很重要,能够让我们打好坚实的基础,一定要掌握int.float.long.字符串.列表.元组.集合.字典.函数和类的基础常用的操作. 下面来看一看 ...
- review-反思当程序猿的小一年来
误打误撞进入这个行业,也算是缘分把,不到一年的时光里,剖析一下自己,别写了半天代码,学了一堆东西,不知道干嘛.反省一下. 1.目标与知识库 就目前在我看来,是想成为一名优秀的数据工程师,掌握全栈数据分 ...
- Js数组的常用的方法概述
学习JS的同学们,也曾对数组进行学习掌握,所以我也把数组中常用的方法列举下来,相互学习 不多废话,直接上正文 . 快乐的分割线... 一.对象继承的方法 数组是一种特殊 ...
- [转]C/C++关于全局变量和局部变量初始化与不初始化的区别
原文链接:http://www.kingofcoders.com/viewNews.php?type=newsCpp&id=189&number=4836955386 在C语言里,全局 ...
- 【BZOJ 1923】1923: [Sdoi2010]外星千足虫 (高斯消元异或 | BITSET用法)
1923: [Sdoi2010]外星千足虫 Description Input 第一行是两个正整数 N, M. 接下来 M行,按顺序给出 Charles 这M次使用“点足机”的统计结果.每行 包含一个 ...
- 【DLX算法】hdu3498 whosyourdaddy
题意:给你一个01矩阵,让你选择尽可能少的行数,使得这些行的并集能够覆盖到所有列. DLX算法求解重复覆盖问题模板,使用估价函数进行剪枝. #include<cstdio> #includ ...
- [ZJOI2007]最大半连通子图
[ZJOI2007]最大半连通子图 题目大意: 一个有向图称为半连通的,当且仅当对于任意两点\(u,v\),都满足\(u\)能到达\(v\)或者\(v\)能到达\(u\). 给定一个\(n(n\le1 ...
- ElasticSearch学习笔记--2、ES相关配置
1.配置文件 ES的配置文件位置:config/elasticsearch.yml可以直接搜索elasticsearch.yml 2.配置远程api访问 network.host: 192.168.1 ...