上一页 1 2 3 4 5 6 7 8 9 10 ··· 33 下一页
第一节介绍过RegexNode类,它的SplitWords用来分词,大致逻辑就是遍历要分词的字符串,不断的调用自身的Parse属性指向的委托,Parse属性指向一个bool ParseFunc(string input, int index, out string output)类型的委托,其中input表示要解析的字符串,index表示其实的解析位置,返回值表示否则匹配成功,output表示匹配... Read More
posted @ 2010-05-30 19:49 蛙蛙王子 Views(936) Comments(0) Diggs(0) Edit
解析方法工厂是一个静态类,用于生成各种子模式的解析方法,这是正则引擎的核心部分,也是比较用技巧的部分,我们一种模式一种模式来分析。 最简单的匹配就是单纯字符串的匹配,我们用string.Compare就可搞定,如下 //abcpublic static ParseFunc MaxMatch(string str) { ParseFunc func = (string input, int ind... Read More
posted @ 2010-05-30 19:49 蛙蛙王子 Views(862) Comments(0) Diggs(0) Edit
为了更好的评估代码写的哪里有问题,我把《代码大全》里核心的部分checklist整理出来了,大家可以大概过一遍,不一定每写完一个程序都要一条一条的去检查,但心里应该有这么一张检查表,在写代码和review代码时自然而然的想起来。 设计 设计是否经过多次迭代,并最终决定了最好的一个? 是否同时使用自上而下和自下而上的方法来解决设计问题? 类与类之间的交互关系是否已经设计为最小化? 设计被划分为层次吗... Read More
posted @ 2010-05-30 19:49 蛙蛙王子 Views(2112) Comments(0) Diggs(1) Edit
上一帖已经说过了大概的设计,第一步我们是要把输入的正则式构建成抽象模式树,我们先定义表示模式树的类。 public enum Releation{ Default, Or, And}public class PatternNode { public PatternNode() :this(null) { } public PatternNode(string text) { Text = tex... Read More
posted @ 2010-05-30 19:48 蛙蛙王子 Views(983) Comments(0) Diggs(1) Edit
平时写代码肯定免不了犯错,如何减少犯错的机会呢,只能多加练习,多加注意。软件开发的难点是处理本质的复杂度,也就是业务逻辑本身的复杂性,而不是解决一些技术上的难题。作为开发人员,我们一方面要多看书,增加知识宽度,学习新技术,保持技术敏感,另一方面更要锻炼基本功,比如《代码大全》上写的那些,使用防御性编程,控制多层嵌套,有效使用递归,用伪代码设计子程序,练好code review本领等。   本系列就... Read More
posted @ 2010-05-30 19:47 蛙蛙王子 Views(1582) Comments(0) Diggs(0) Edit
第20章 软件质量概述大部分研究都发现,检测比测试的成本更小。NASA软件工程实验室的一项研究发现,阅读代码每小时能够检测出来的缺陷要比测试高出80%左右(Basili and Selby 1987)。后来,IBM的一项研究又发现,检查发现的一个错误只需要3.5个工作时,而测试则需要花费15-25个工作时(Kaplan 1995)。   微软的应用程序部门发现,用代码检查这种一步到位的方法找出并修... Read More
posted @ 2010-05-26 09:13 蛙蛙王子 Views(1133) Comments(2) Diggs(4) Edit
摘要:刚才看了老赵反对北大青鸟的帖子,有些想法想和大家交流一下。  老赵说的不错,北大青鸟培养出来的学生好多都不注重基础,上来就学java,.net,sqlserver,oracle等,计算机需要的那些基础知识,数学,数据结构,计算机组成原理,英语等重视的不够,所以好多青鸟毕业的学生貌似懂的挺多的,工具,语言也都会一些,但一些基础的,通用的技能,思想就差多了。   我觉得是大多数人把编程想的太简单... Read More
posted @ 2010-04-24 10:07 蛙蛙王子 Views(1227) Comments(6) Diggs(3) Edit
给你一个数N,让你求出 这样的组合A,B,C,A,B,C要满足如下条件:A*A + B*B = C*C,A+B+C=N Read More
posted @ 2010-04-22 12:59 蛙蛙王子 Views(842) Comments(2) Diggs(0) Edit
第4章 关键的“构建”决策   在真正构建之前,需要进行一些决策,首先是要选择语言,这貌似是一个难题,而且很有争议,其实对于具体程序员来说却不是一个问题,你几乎没啥选择权,老板让你用啥你就用啥吧,对新手来说,你会什么就找什么样的工作就是了,对于老手来说,公司要决定换一种语言开发,你就学习学习,换呗,难道你还换个工作?如果你的职位需要你对编程语言做出选择,每种语言都是有他自己... Read More
posted @ 2010-04-11 17:04 蛙蛙王子 Views(1842) Comments(1) Diggs(1) Edit
  最近在看《代码大全》这本书,感觉挺有用的,对实际的设计和编码有很好的指导意义。尽管有很多高手说这本书写的没有宣传的那么好,名不副实,但我却没这感觉,各取所需吧,写了一些读书笔记和体会,和大家分享。 Read More
posted @ 2010-04-10 14:30 蛙蛙王子 Views(2227) Comments(2) Diggs(2) Edit
上一页 1 2 3 4 5 6 7 8 9 10 ··· 33 下一页