04 2017 档案
摘要:第五章 弯曲,或折断 为了赶上今天近乎疯狂的变化步伐,我们需要尽一切努力编写尽可能宽松灵活的代码。否则,我们可能就会发现我们的代码很快就会变得过时,或是太脆弱,以至于难以清理。 1. 解耦与得墨忒耳法则 好篱笆促成好邻居 a) 把你的代码组织成最小组织代码(模块),并限制它们之间的交互.当我们要求某
阅读全文
摘要:第四章 注重偏执的实效 “你不可能写出完美的软件”,我们要把这句话视为生活的公理,并接受它、拥抱它。 但同时,有一些方法可以尽量把这个事实转变为有利条件 作者用开车来类比写程序:每个人都知道只有他们自己是地球上的好司机,于是我们防卫性地开车,小心谨慎以避免麻烦发生,预判意料之外的事,尽量不让自己陷入
阅读全文
摘要:第二章 注重实效的途径 1. 重复的危害 a) DRY-Don’t Repeat Yourself。系统中的每一项知识都必须具有单一、无歧义、权威的表示。 b) 重复是怎样发生的 Imposed Duplication强加的重复。开发者觉得他们无可选择-环境似乎要求重复。 Inadvertent D
阅读全文
摘要:这几天开始看《程序员修炼之道》,也许不少人看了书的标题,第一时间会觉得这是鸡汤一类的书。但至少以我自己的感受来看,这是很棒的书,现代人文主义不是提倡自我意识嘛,自己感觉好的就是好的。况且人家也是经过了时间和口碑的双重考验的,真心值得好好阅读。 作者在再版的序中写道: 写完《程序员修炼之道》至今已有十
阅读全文
摘要:在上一篇<学习MVC之租房网站(五)-权限、角色、用户管理>完成了权限、角色、用户的增删改查,现在将基于前面完成的内容,进行后台用户登录和权限控制功能的开发。 一、用户登录 用户登录涉及到密码的MD5校验、验证码、Session的保存等。基本过程为检查输入数据的合法性(前端用Validform控件、
阅读全文
摘要:在上一篇<学习MVC之租房网站(四)-实现Service层并进行单元测试>中,记录了实现Service层并进行单元测试的过程,接下来该到“正题”-MVC了,也就是UI层的开发。 网站分为前台、后台两部分,因为后台涉及到一些在业务上来说基础的东西,比如用户管理、房源编辑等,所以先完成后台UI即Admi
阅读全文
摘要:单元测试的目的不是寻找BUG;优秀的单元测试和糟糕的单元测试;关于编写单元测试的一些建议
阅读全文
摘要:原文来自http://blog.stevensanderson.com/2009/08/24/writing-great-unit-tests-best-and-worst-practises/ (Writing Great Unit Tests: Best and Worst Practices
阅读全文
摘要:在上一篇<学习MVC之租房网站(三)-编写Eneity类并创建数据库>中,记录了编写Eneity类并采用CodeFirst的方式创建数据库的过程,接下来就到了Service层的实现了,并且在开始后续工作前,首先进行充分的单元测试。 长久以来,一直为写出很多bug而苦恼,这儿用过单元测试后,惊喜地发现
阅读全文
摘要:编写Eneity类并采用CodeFirst的方式创建数据库
阅读全文
摘要:int?是什么;了解Nullable结构体;Nullable类型中的GetValueOrDefault方法与运算符重载
阅读全文
摘要:近期遇到了DateTime到底是值类型还是引用类型的疑惑,顺势较深入地了解一下DateTime相关的内容 结论:DateTime是值类型,因为DateTime是结构体,而结构体继承自System.ValueType,属于值类型 一、DateTime是值类型还是引用类型的探索 二、了解DateTime
阅读全文
摘要:在上一篇<学习MVC之租房网站(一)-项目概况>中,确定了UI+Service的“双层”架构,并据此建立了项目 接下来要编写Common类库、配置AdminWeb和FrontWeb 一、编写Common类库 验证码和计算MD5没什么好说,直接从网上复制来的~.~ 以后会逐步扩充,把公用的方法都放到这
阅读全文
摘要:介绍正在学习的租房网站的概况
阅读全文