`
文章列表
本文内容来自《软件开发沉思录》 优秀设计背后的七条核心概念:内聚性,松耦合,零重复,封装,可测试性,可读性,单一职责。 采用这些规则的关键是,使用面向对象的思考。 规则1 :方法只使用一级缩进 动机 :庞大的方法往往缺少内聚性,一个常见的原则是将方法控制着5 行以内(不包括入参检查)。你可以尝试让每个方法只做一件事情——每个方法只保护

单元测试的七个阶段

 
1 – Refuse to unit test because “you don’t have enough time”2 – Start unit testing and immediately start blogging about unit testing and TDD and how great they are and how everyone should do it3 – Unit test everything – make private methods internal and abuse the InternalsVisibleTo attribute. Test ge ...
  Q: 为什么通过单元测试发现的 Bug 很少 ? A: 单元测试不是用来发现 Bug 的, 而是用来预防 Bug 的. 如果采用 TDD, 测试用例完成之时, 产品代码尚未编写, Bug更无从谈起. Q: 那是否写单元测试就能提高代码质量了 ? A: 关于这一点, 似乎有人不这么看, <<TDD Opinion: Quality Is a Function of Thought and Reflection, Not Bug Prevention>>. 不错, 代码质量并不必然关联到单元测试, 诸如净室软件开发之类的方法依然可以在没有单元测试的情况下得到高质量 ...

class文件笔记

    博客分类:
  • jvm
前四个字节CA FE BA BE class文件的魔数,所有的class均为这四个字节开始   后边的四个字节 minor version 和major version 最低版本号和最高版本号   常量池 再往后就是常量池了,包含文件中类和接口相关的常量。常量池中存储了字符串、final类型的变量,类名、方法名 、静态变量(?)。  

manage it 笔记 1

 
  定义项目经理和项目 项目:一个独特的任务或是系统化的流程,目的是创建新的产品或服务 ,产品和服务的交付完成标志着项目的结束,项目都有风险,都受制于有限的资源 项目经理负责管理风险和资源 产品:项目产生的一系列可交付物 项目经理:负责向团队清晰说明完成的含义,并带领团队完成项目的人,完成是指,产品符合组织对产品的期望,也符合客户对产品的需求 管理项目的关键驱动因素、约束和浮动因素 理解项目的背景
idea的重构能力较之eclipse有很大的提高,用起来也更智能些,所以准备使用idea一段时间,安装就不提了,先从快捷键开始吧: idea可以直接支持eclipse的快捷键,图省事的朋友可以直接切换之,方法是setting > keymap >第一个下拉框切换即可。   最重要的肯定是代码提示了,idea默认的是ctrl+space这个和系统输入法是冲突的,修改方法是setting > keymap > copy一份配置 > 查找complete code >删除老得使用新的就行了,我自己使用的是alt+comma和eclipse中一样,另:ecli ...

冒烟测试

 
冒烟测试 (smoke testing),据说是微软起的名字。在《微软项目求生法则》一书第 14 章“构建过程”关于冒烟测试,就是开发人员在个人版本的软件上执行目前的冒烟测试项目,确定新的程序代码不出故障。冒烟测试的名称可以 ...

敏捷日记2011-08-03

下午和新同事们一起做了个好玩的游戏-“航海项目”,通过一个tiny project,大家一起吧完成了从最初的用户选择到最终的release plan制定流程,获益很多。 麻雀虽小五脏俱全,这个过程大体是这样的: 首先是根据PO的需求描述 ...

[nexus]nexus配置

 
公司使用的项目管理架构是maven+nexus+hudson+cvs,基于nexus开发已经有两年时间了,平时开发只是使用,并没有仔细的研究过它的搭建过程,得闲,自己搭建一个研究下。   使用的nexus版本是1.9.2,目前最新的稳定版本,公司使用的1.2.1,版本还是更新了不少,我下载的是all-in-one的笨蛋(bundle)版本。   下载完成,上传至ubuntu服务器中,解压缩之后,直接启动(1.JAVA_HOME配置好 2端口8081未占用)。     http://localhost:8081/nexus 访问即可,默认管理员帐户admin/admin123,登录 ...

[ubuntu]开启root

    博客分类:
  • OS
 
如果你希望像传统 UNIX 样式使用root帐号。你能通过输入 sudo passwd root 。那将使你在控制台上通过 su 或登录成为root. 如果你需要一个有root权限的shell,运行 sudo -s 。 所有用户的“sudo”将需要用户密码。 如果创建新帐号,希望可以使用"sudo"命令,将该帐号添加到 admin 组即可。 如果希望使用"sudo"命令时,不需要输入用户密码,将该帐号添加到 sudo 组即可。   很简单的两个命令 sudo passwd root 输入密码,然后运行 su root 再输入密码 这样 ...
Mandriva Mandriva原名Mandrake,最早由Gaël Duval创建并在1998年7月发布。记得前两年国内刚开始普及Linux时,Mandrake非常流行。说起Mandrake的历史,其实最早 Mandrake的开发者是基于Redhat进行开发的。Redhat默认采用GNOME桌面系统,而Mandrake将之改为KDE。而由于当时的 Linux普遍比较难安装,不适合第一次接触Linux的新手,所以Mandrake还简化了安装系统。我想这也是当时Mandrake在国内如此红火的 原因之一。Mandrake在易用性方面的确是下了不少功夫,包括默认情 ...

[ubuntu]ubuntu开始

    博客分类:
  • OS
 
平时部署环境多是运维同学负责,开发环境由于java的可移植性,绝大多数都是在windows环境中进行,linux系统只是红帽接触的多谢,得闲,研究下其他linux系统,经过简易比较(比较贴),选择了一个非常优秀的分支---ubuntu(中文名 ...
      1.确定entities及relationshipsa)设计宏观行为。你用此数据库来做什么?比如,希望管理雇员的信息。b)确定entities。对于一系列的行为,确定所管理信息所涉及到的主题范围。这将变成table。比如,雇用员工,指定具体部门,确定技能等级。c)
consistent hashing 算法早在 1997 年就在论文 Consistent hashing and random trees 中被提出,目前在 cache 系统中应用越来越广泛; 1 基本场景 比如你有 N 个 cache 服务器(后面简称 cache ),那么如何将一个对象 object 映射到 N 个 cache 上呢,你很可能会采用类似下面的通用方法计算 object 的 hash 值,然后均匀的映射到到
集群架构方面的问题o memcached是怎么工作的?o memcached最大的优势是什么?o memcached和MySQL的query cache相比,有什么优缺点?o memcached和服务器的local cache(比如PHP的APC、mmap文件等)相比,有什么优缺点?o memcached的cache机制是怎样 ...
Global site tag (gtag.js) - Google Analytics