- 博客(11)
- 收藏
- 关注
原创 【人月神话】读书笔记第7章 为什么巴比伦塔会失败
1、引言 巴比伦塔这个项目有很多的先决条件:一是,清晰的目标,二是充足的人力,三是充足的材料,四是没有时间限制,五是足够的技术。 那为什么还失败呢?---缺乏交流和组织。2、大型项目中的交流 随着工作的进行,许多小组慢慢的修改自己程序的功能、规模和速度,他们明确或者隐含地更改了一些有效输入和输出结果用法上的约定。例如A模块根据统计报告显示某个功能很少被利用,
2015-12-10 21:52:02 555
转载 全面解读Java NIO工作原理(1)
全面解读Java NIO工作原理(1)2011-12-14 10:31 Rollen Holt Rollen Holt的博客 我要评论(4) 字号:T | TJDK 1.4 中引入的新输入输出 (NIO) 库在标准 Java 代码中提供了高速的、面向块的 I/O。本实用教程从高级概念到底层的编程细节,非常详细地介绍了 NIO 库。您将学到诸如缓冲区和通道这样的关键 I/O
2015-12-07 22:54:26 385
原创 【敏捷软件开发】读书笔记 中文序和代序
通过软件,可以创造美的东西。软件之美在于它的功能,在于它的内部结构,在于团队创建它的过程。对于用户来说,通过直观、简单的界面呈现出恰当特性的程序就是美的;对于软件设计者来说,被简单、直观的分割,并具有最小内部耦合的内部结构就是美的;对于开发人员和管理者来说,每周都会取得重大进展,并且生产出无缺陷代码的具有活力的团队就是美的。 最好的饿开发人员都知道一个秘密:美的东西比丑的东西创建起
2015-12-03 11:27:31 349
原创 【有效的单元测试】读书笔记第7章 可测的设计
java以语言结构的饿形式提供了答案,而程序员的任务就是找出对应的问题,以及用何种语言结构来解决何种问题。设计也一样。我们会学到各种解决方案,但是光知道解决方案是不够的,我么需要学会识别它们所解决的问题。本章主要识别常见的妨碍设计决策的可测性问题。1、可测的设计 可测的设计,其基本价值主张是能够更好的测试代码。更具体的说,对于实例化各个类、替换实现、模拟不同场景、调用特定执行路
2015-12-01 22:56:34 554
原创 【有效的单元测试】读书笔记第三章 测试替身
桩stub和哑元dummy过去主要用于占位,直到真正的事物准备好---允许在周边代码就位之前就能编译和执行某段代码。在现代开发者测试的上下文中,这些对象具有了更多不同目的。除了允许在某些依赖缺失的情况下编译执行代码以外,崇尚测试的程序员还创建了一系列“仅供测试”的工具,用于隔离被测代码、加速执行测试、使随机行为变得确定、模拟特殊情况,以及使测试能够访问隐藏信息。满足这些目的的各种对象具有相似之处,
2015-12-01 10:35:25 1344
原创 【有效的单元测试】读书笔记第二章 寻求优秀
1、测试怎样才算优秀?(1)测试代码的可读性和可维护性(2)代码在项目中及特定源代码中的组织方式(3)测试所检查的内容(4)测试可靠性和可重复性(5)测试对测试替身的使用 影响测试质量的因素是无穷尽的。同样,一些因素并非在各种情况下都起作用。对一些测试来说,执行速度可能是至关重要的,但对另一些来说,极度专注才是关键。测试代码的质量取决于观察者的眼睛,个人偏好关乎
2015-11-30 20:44:44 469
原创 【有效的单元测试】读书笔记第一章 优秀测试的承诺
开发者应该编写自动化测试,以便发现回归问题时就使构建失败。而且,测试先行的编程风格已有大量的专业研究,使用自动化测试不仅是保护回归,而且是帮助设计,在编写代码之前就指出代码的期望行为,从而在验证实现之前先验证设计。 问题:自动化测试可以改善生产力,使你获得并保持开发速度。现在自动化测试成为主流,并不意味着测试覆盖率已经达到理想状态,或者生产力无法再改善了。那么测试的价值是什么,测试质量
2015-11-30 15:39:22 540
原创 《有效的单元测试》读书笔记 序和前言
1、审美之前有必要先学会审丑。好的编码模式各有千秋,能抓住老鼠的猫就是好猫,然而坏的模式确实有限的。2、书写优秀测试是与语言无关的问题。3、自动化测试在软件开发中的重要性---确保我们的代码能工作并且一直能工作,但是该技能需要花很大力气去学习。4、编写测试、学习JUnit测试框架,这些都不难。要真正掌握自动化单元测试实践,需要花大量时间在阅读并改善测试代码上。这种持续的测试重构能够尝试
2015-11-30 11:24:49 398
原创 【effective java】读书笔记 序和引言
1、学习和使用一门语言必须掌握的三件事?对于程序设计语言,对应着什么? 第一,这门语言的结构如何(语法)?---面向算法的,还是面向函数的,还是面向对象的? 第二,如何命名你想谈论的事物(词汇)?---标准类库提供了哪些数据结构、操作和功能(Facility)? 第三,如何以惯用和高效的方式表达日常的事物(用法)?---如何用习惯和高效的方式来构建代
2015-11-29 17:20:25 337
原创 【人月神话】读书笔记第四章 贵族专制、民主政治和系统设计
1、问题 系统设计中,最重要的考虑因素是什么? 绝大多数欧洲的大教堂中,不同时代、不同建筑师所建造的各个部分之间,在设计或结构风格上都存在许多差异。后来的建筑师总是试图在原有建筑师的基础上有所“提高”,以反映他们在设计风格上的改变和个人品味上的不同。而法国城市兰斯在建筑风格上的一致性则是鲜明对比,风格的一致性和完整性来自8代拥有自我约束和牺牲精神的建筑师们,他们每一
2015-11-27 20:38:03 413
原创 【人月神话】读书笔记第三章 外科手术队伍
1、问题 如何在有意义的进度安排内创建大型的系统?一拥而上的开发方法是高成本的、低效的、进度缓慢的,开发出来的是无法在概念上进行集成的产品。而不超过十个人的、理想的精干的团队,可能需要较长的时间才能完成项目,那时候项目可能已经过时。 也就是说,对于效率和概念上的完整性来说,最好由少数干练的人员来设计和开发,而对于大型系统,则需要大量的人手,以使产品能在时间上满足要求。如
2015-11-26 21:36:59 1004
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人