随笔分类 -  编程思考

怎样才能耐下心来学完一本很厚的技术书或很长的技术文章?
摘要:在开始阅读之前,先制定一个完成任务后给自己的奖励。比如,读完这一章可以去刷一次雷狼龙/轰龙/迅龙/雄火龙/...,或者,下一盘围棋 :-)接下来再制定阅读下一章的目标。实践中,嘿嘿~ 阅读全文

posted @ 2011-05-27 00:41 NeilChen 阅读(599) 评论(4) 推荐(0) 编辑

LISP 练习:quick sort
摘要:今天偶然看到这个帖子: 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)于是试着用... 阅读全文

posted @ 2011-05-11 19:05 NeilChen 阅读(890) 评论(0) 推荐(0) 编辑

应该怎样设计和开发软件
摘要:对一些琐碎的想法做一个总结,先写在这里。 1. 用例分析 2. 业务知识学习 3. 设计 DomainModel 4. 设计 UI prototype. 5. 设计/编写 Service Layer (interface). 实现时要注意支持 Unit Test. 6. 根据5的需求设计 database model, 实现 Repository (为减轻工作量,可以随便挑一个好用的 ORM 框架... 阅读全文

posted @ 2010-08-06 12:25 NeilChen 阅读(661) 评论(0) 推荐(1) 编辑

[阅读随想] 动态语言 DSL 和 Xml 配置 / 仪式和本质
摘要: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... 阅读全文

posted @ 2008-04-21 00:54 NeilChen 阅读(1191) 评论(1) 推荐(0) 编辑

面向对象编程(OOP)和函数式编程(FP)的思考
摘要:最近看过不少 JavaScript 的类(实际是嵌套 function),自己也写了一些,发现一个值得思考的问题。有的作者可能为了提高一点性能,喜欢有事没事把方法里面的某个变量做成类的字段(attribute)。而实际上,这些变量往往作用域在单个方法内一样工作的很好,就是说从逻辑上讲,是不需要在几个方法之间分享这些变量的。比如: function SomeClass(){ var a; ... 阅读全文

posted @ 2007-07-24 17:47 NeilChen 阅读(5416) 评论(23) 推荐(1) 编辑

用状态机模式消除复杂的 if else 逻辑
摘要:前一阵开发的一个 web 界面上有很多诸如“按钮隐藏显示”,“边框隐藏显示”,“伸缩” 等效果的切换,在展示不同内容的时候,这些配套的显示控件需要跟着切换不同的状态。迫于进度,使用的是 if..else, 或者 switch..case 的繁杂的 js 代码来实现这些状态的判断和转换。js 代码很快到了 400~500行,变得很难理解。并且我要加入新的状态切换的时候感觉比较困难。今天决心重构,于是... 阅读全文

posted @ 2007-04-16 18:01 NeilChen 阅读(5420) 评论(3) 推荐(1) 编辑

状态机学习及对一段 java 代码的改写
摘要:《敏捷软件开发:原则、模式与实践》这本书中的第 29 章讲解了 State 模式,例子是地铁里的十字转门。书中对于状态机的实现,有一个范例是使用迁移表来实现(程序 29.12, P382),这里不列出详细代码。我在这个例子里面了解到,原来 java 还支持 private interface,并且可以不创建接口的实例,而直接生成一个实现了接口的对象。使用的语法是类似于 C# 里匿名函数一样的内嵌定... 阅读全文

posted @ 2006-08-29 17:53 NeilChen 阅读(2897) 评论(1) 推荐(0) 编辑

写了一个八皇后解法
摘要:先用最笨的穷举法求解,有空再研究更好的解法: # -*- 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)... 阅读全文

posted @ 2006-01-08 16:40 NeilChen 阅读(1141) 评论(1) 推荐(0) 编辑

一个小的算法问题解决
摘要:问题在这里:http://twobug.cnblogs.com/archive/2005/09/30/247550.html我的代码: 阅读全文

posted @ 2005-10-01 01:04 NeilChen 阅读(840) 评论(3) 推荐(0) 编辑

扫雷程序实现之 part 1
摘要:先贴一点上来。随后我会抽时间做一些设计模式的分析:) /**/////////////////////////////////////////////////////////////////////// // Project: 扫雷// Author: Chen Rong// History: // v1.0 2004,3,7 ... 阅读全文

posted @ 2005-07-07 20:31 NeilChen 阅读(3064) 评论(15) 推荐(0) 编辑

观察者模式(Observer Pattern)
摘要:随手画了一张图,就 C# 的实现而言。 阅读全文

posted @ 2005-06-27 00:06 NeilChen 阅读(950) 评论(2) 推荐(0) 编辑

没事练习一下算法:全排列的递归算法。
摘要:using System;namespace TotalSort{ /**//// /// 全排列的递归算法 /// class Class1 { /**//// /// 应用程序的主入口点。 /// [STAThread] static void Main(string[] args) ... 阅读全文

posted @ 2005-06-21 11:55 NeilChen 阅读(2207) 评论(3) 推荐(0) 编辑

导航

统计

点击右上角即可分享
微信分享提示