Kerwen Blog

Stay Hungry Stay Foolish

重构与模式读书笔记

重构 重构就是一种“保持行为的转换”, 是一种对软件内部结构的改善, 目的是在不改变软件的可见行为的情况下, 使其更容易理解, 修改成本更低。 重构的过程包括去除重复、简化复杂逻辑和澄清模糊的代码。 重构时, 需要对代码无情的针砭, 以改进其设计。 这种改进可能很小, 小到只是改变一个变量名; 也可能很大, 大到合并两个类层次。 重构最好持续而不是分阶段的进行。 只要看到代码需要改善, ...

Visual Studio + Vmware 远程调试

配置: Visual Studio 2013 装在了host机上, 想remote debug Vmware机器中的程序。 将Vmware 的network 配置改为NAT 尝试在vmware中ping主机的ip, 应该能ping通 在host机上ping虚拟机, 如果ping不通,参考第4-9步 将host和vmware的防火墙都关闭 将vmware的ip改为自动获取...

设计原则

单一职责原则 就一个类而言, 应该仅有一个引起它变化的原因。 如果一个类承担的职责过多, 就等于把这些职责耦合在一起, 一个职责的变化可能会削弱或者抑制这个类完成其他职责的能力。 这种耦合会导致脆弱的设计, 当变化发生时, 设计会遭受意想不到的破坏。 开放-封闭原则 软件实体(类、模块、函数等等) 应该可以扩展, 但是不可修改。 即对于扩展是开放的, 对于更改是封闭的。 依赖倒转原则...

设计模式

简单工厂模式 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 class Parent { virtual Function()=0;} class ChildA {} class ChildB {} class Factory { public Parent GetInsta...

依赖注入那些事儿

原文地址: http://www.cnblogs.com/leoo2sk/archive/2009/06/17/1504693.html IGame游戏公司的故事 讨论会 话说有一个叫IGame的游戏公司,正在开发一款ARPG游戏(动作&角色扮演类游戏,如魔兽世界、梦幻西游这一类的游戏)。一般这类游戏都有一个基本的功能,就是打怪(玩家攻击怪物,借此获得经验、虚拟货币和虚拟装备),...

代码整洁之道(Clean Code)学习笔记

什么是整洁代码 优雅和高效的代码。代码逻辑应当直接了当,叫缺陷难以隐藏;尽量减少依赖关系,使之便于维护;依据某种分层战略完善错误处理代码;性能调至最优,省得引诱别人做没规矩的优化,搞出一堆混乱来。整洁的代码只做好一件事。 糟糕的代码想做太多事,它意图混乱、目的含混。整洁的代码力求集中。每个函数、每个类和每个模块都全神贯注于一事,完全不受四周细节的干扰和污染。 整洁的代码简单直接。整洁的...

C#中方法、类等的默认访问修饰符

原文地址: http://blog.csdn.net/andrew_wx/article/details/6843426 命名空间下的元素的默认访问修饰符 public : 同一程序集的其他任何代码或引用该程序集的其他程序集都可以访问该类型或成员。 internal : 同一程序集中的任何代码都可以访问该类型或成员,但其他程序集不可以访问。 各类型中的成员的默认访问修饰符 剩下的修饰...

C# Lambda表达式

原文地址: http://www.cnblogs.com/kingmoon/archive/2011/05/03/2035696.html   “Lambda表达式”是一个匿名函数,是一种高效的类似于函数式编程的表达式,通常是在需要一个函数,但是又不想费神去命名一个函数的场合下使用。 如果真的只需要一个只做一次事情的函数而已,连它叫什么名字都无关紧要。Lambda 表达式就比较适合用来做这...

Python爬虫 HTTP Error 403: Forbidden

问题: urllib.request.urlopen() 方法经常会被用来打开一个网页的源代码,然后会去分析这个页面源代码,但是对于有的网站使用这种方法时会抛出”HTTP Error 403: Forbidden”异常 例如 执行下面的语句时 1 <span style="font-size:14px;"> urllib.request.urlopen("http://bl...

Python 安装模块的几种方式

单文件模块 直接把文件拷贝到 $python_dir/Lib 多文件模块,带setup.py 下载模块包,进行解压,进入模块文件夹,执行: python setup.py install easy_install 方式 先下载ez_setup.py,运行python ez_setup 进行easy_install工具的安装,之后就可以使用easy_install进行安装packa...