摘要:在开始阅读之前,先制定一个完成任务后给自己的奖励。比如,读完这一章可以去刷一次雷狼龙/轰龙/迅龙/雄火龙/...,或者,下一盘围棋 :-)接下来再制定阅读下一章的目标。实践中,嘿嘿~
阅读全文
摘要:今天偶然看到这个帖子: http://blog.zhaojie.me/2009/08/functinal-list-quick-sort.html 在 Haskell 中 quick sort 居然只要2行代码实现: qsort [] = []qsort (x:xs) = qsort (filter (< x) xs) ++ [x] ++ qsort (filter (>= x) xs)于是试着用...
阅读全文
摘要:对一些琐碎的想法做一个总结,先写在这里。 1. 用例分析 2. 业务知识学习 3. 设计 DomainModel 4. 设计 UI prototype. 5. 设计/编写 Service Layer (interface). 实现时要注意支持 Unit Test. 6. 根据5的需求设计 database model, 实现 Repository (为减轻工作量,可以随便挑一个好用的 ORM 框架...
阅读全文
摘要:1. http://haacked.com/archive/2008/04/18/dynamic-language-dsl-vs-xml-configuration.aspx2. http://blog.thinkrelevance.com/2008/4/1/ending-legacy-code-in-our-lifetime现在我们的编程手法已经越来越复杂化,随着设计模式的普及,各种 Patte...
阅读全文
摘要:最近看过不少 JavaScript 的类(实际是嵌套 function),自己也写了一些,发现一个值得思考的问题。有的作者可能为了提高一点性能,喜欢有事没事把方法里面的某个变量做成类的字段(attribute)。而实际上,这些变量往往作用域在单个方法内一样工作的很好,就是说从逻辑上讲,是不需要在几个方法之间分享这些变量的。比如: function SomeClass(){ var a; ...
阅读全文
摘要:前一阵开发的一个 web 界面上有很多诸如“按钮隐藏显示”,“边框隐藏显示”,“伸缩” 等效果的切换,在展示不同内容的时候,这些配套的显示控件需要跟着切换不同的状态。迫于进度,使用的是 if..else, 或者 switch..case 的繁杂的 js 代码来实现这些状态的判断和转换。js 代码很快到了 400~500行,变得很难理解。并且我要加入新的状态切换的时候感觉比较困难。今天决心重构,于是...
阅读全文
摘要:《敏捷软件开发:原则、模式与实践》这本书中的第 29 章讲解了 State 模式,例子是地铁里的十字转门。书中对于状态机的实现,有一个范例是使用迁移表来实现(程序 29.12, P382),这里不列出详细代码。我在这个例子里面了解到,原来 java 还支持 private interface,并且可以不创建接口的实例,而直接生成一个实现了接口的对象。使用的语法是类似于 C# 里匿名函数一样的内嵌定...
阅读全文
摘要:先用最笨的穷举法求解,有空再研究更好的解法: # -*- coding: gb2312 -*-size = 8 # 棋盘大小EMPTY = "O" # 空位QUEEN = "X" # 皇后# 查看棋盘的信息def show_board(cols): for i in range(1, size + 1): for j in range(1, size + 1)...
阅读全文
摘要:问题在这里:http://twobug.cnblogs.com/archive/2005/09/30/247550.html我的代码:
阅读全文
摘要:先贴一点上来。随后我会抽时间做一些设计模式的分析:) /**/////////////////////////////////////////////////////////////////////// // Project: 扫雷// Author: Chen Rong// History: // v1.0 2004,3,7 ...
阅读全文
摘要:using System;namespace TotalSort{ /**//// /// 全排列的递归算法 /// class Class1 { /**//// /// 应用程序的主入口点。 /// [STAThread] static void Main(string[] args) ...
阅读全文