Sognopolis - 简单带来重用,复杂带来重复

博客园 首页 新随笔 联系 订阅 管理
  20 Posts :: 2 Stories :: 13 Comments :: 0 Trackbacks

2007年4月6日 #

http://news.csdn.net/n/20080123/113019.html

如同所有成功者都会说的话,坚持到底才是最重要。但是简立峰解释能够成功的「坚持」,不是那种固执己见、消耗体力、毅力的坚持方式,也不是一味认定媳妇终会熬成婆的苦苦坚持,而是「期待自己好还要更好,不断突破的坚持态度。」
posted @ 2008-03-26 14:07 omnislash 阅读(7) | 评论 (0)编辑

项目管理艺术(The Art of Project Management)P122

I've argued with other managers on this very point. They couldn't imagine not allowing their team to code at full speed all the time, regardless of whether the programmers understood the direction the project was going. If the programmers were idle, then the project must be idle, right? Wrong. There is hypocrisy here: if the programmer's time is so valuable, the use of it should be well planned. "What will the programmers do?", they'd ask me. And I'd say, "They will wait for a plan worthy of their time, or help the team to find it."

我曾和其他经理人就这点争论过。他们无法想象,不让团队随时全力撰写程序代码的情况,无论程序员究竟是否了解项目的前进方向。如果程序员空闲,项目就必然闲置,对吗?错。这里有个伪善的说法:如果程序员的时间如此宝贵,在使用上就应充分被计划。他们问我:“那程序员要做什么?”而我说:“他们要等待值得他们付出时间的计划,或者协助团队找出来。”

posted @ 2008-03-25 13:54 omnislash 阅读(20) | 评论 (0)编辑

     摘要: NUnit小技巧一则  阅读全文
posted @ 2007-11-19 21:46 omnislash 阅读(77) | 评论 (0)编辑

以前总是先构造领域对象,今天发现,还是从界面构造起开始比较好,符合top-down模式,比较不会迷失方向。
posted @ 2007-08-21 18:07 omnislash 阅读(18) | 评论 (0)编辑

     摘要: 周五的时候在写一个小程序,它的输入是电话号码,输出是该号码的区号。区号表用Access数据库存储。解析算法的最初思路是:把整张区号表做成一个状态机,电话号码逐字符输入。这样效率应该比较高,但是要手工构造那个状态机就有点麻烦。“先让程序跑起来,然后让它快起来”——稍微简化一下,先用号码的头三位(为什么用前三位?那是因为国内区号最短就是三位)做模糊查询,过滤掉明显不匹配的区号,... 阅读全文
posted @ 2007-07-30 00:07 omnislash 阅读(166) | 评论 (0)编辑

     摘要: 响应一下Anders Liu的号召,列几个自己经常遇到的实现
写得很简单,欢迎讨论  阅读全文
posted @ 2007-05-30 19:08 omnislash 阅读(455) | 评论 (5)编辑

1. 同时使用C++操作符new和MC++操作符new

使用__gc和__nogc关键字:
例如,托管类M和本地类N
M* m = __gc new M;
N* n = __nogc new N;

2. 含有析构函数定义的托管派生类链接时错误:
error LNK2001: unresolved external symbol "void __cdecl __CxxCallUnwindDtor(void (__thiscall*)(void *),void *)" (?__CxxCallUnwindDtor@@$$J0YAXP6EXPAX@Z0@Z)

解决方案:
1、在项目中显式引用msvcrt.lib或者msvcrtd.lib,具体做法是在头文件中增加一行
#pragma comment( lib, "msvcrt" ) // 或msvcrtd

2、如果不需要exception unwinding,可以取消对C++ Exception的支持,具体做法(以vs2003为例):
项目属性 -> C/C++ -> Code Generation -> Enable C++ Exceptions
注:/EHsc选项同样可以解决STL等需要支持C++ Exceptions的库的连接错误问题

3. 没有显示引入dll造成的TypeLoadException
例如
// 在头文件中
public __gc class ImageProvider
{
    System::Drawing::Image __gc
* GetImage () return NULL; }
}
上述代码可以通过编译,但是可能会在运行时引发TypeLoadException异常。
解决方案是在头文件中使用#using指令引入System.Drawing.dll
#using <system.drawing.dll>



posted @ 2007-05-11 15:34 omnislash 阅读(160) | 评论 (0)编辑

问:何时为接口指定实现?

答:在一个特定语境的入口处,在该语境范围内,接口的实现作为一种“共识”被使用。它相当于语用学中的Deixis(指示语,例如:“这个”,“那个”,“现在”等等);从这个角度考虑,指定接口的实现是一种建立“共识”的行为。类似情况的还包括参数的传递和读取配置
posted @ 2007-04-06 10:34 omnislash 阅读(155) | 评论 (0)编辑