Jus*_*ner 30
线程同步和死锁.
Dea*_*n J 25
花时间在设计上,花时间在重构上.
重构根本不会产生客户端可见的工作,这使得项目中最难以证明工作的合理性.
作为第二个"非客户可见"问题,单元测试.
OMG*_*ies 18
我被问到互联网是如何工作的 - 我回答"SYN,ACK,ACK".不要忘记它的SYN,SYN-ACK,ACK ..
alt text http://www.inetdaemon.com/img/internet/3-way-handshake.gif
Mag*_*sol 14
我最困难的问题开始得天真无邪:我的女朋友询问如何在Firefox中呈现文本.我简单回答了"渲染引擎,Gecko,HTML解析器,等等等等."
然后它走下坡路."那么Gecko怎么知道该展示什么呢?"
它从字面上逐渐下降到图形驱动程序,操作系统,编译器,硬件组合以及原始的1和0.我不仅意识到我自己对分层结构的了解存在重大差距,而且最终还是让我(和我!)比我开始时更加困惑.
我应该最初回答"乌龟一路走下去"并坚持下去.:P
Ken*_*ack 11
我有一个有趣的案例,试图解释为什么当数据库中的某些记录有空字符串且有些记录为NULL时程序没有按预期运行.当我告诉他们空字符串只是一个包含0个字节的字符串时,我认为他们的头部爆炸了,而NULL意味着未知值,所以你实际上无法将它与任何东西进行比较.
后来我有一个令人讨厌的头痛.
最大的障碍是"技术债务",尤其是关于该版本的架构是如何正确的,但需要针对下一版本进行更改.这类似于解释"原型与生产"和"1.0版与2.0版"的问题.
我做过的最糟糕的错误是在NeXT步骤UI Builder中进行UI模型.它看起来与最终产品看起来完全一样并且有一些行为.试图解释在那之后剩下6个月的工作是非常困难的.
为什么这样的代码很糟糕:
private void button1_Click(object sender, EventArgs e)
{
System.Threading.ThreadStart start =
new System.Threading.ThreadStart(SomeFunction);
System.Threading.Thread thread = new System.Threading.Thread(start);
_SomeFunctionFinished = false;
thread.Start();
while (!_SomeFunctionFinished)
{
System.Threading.Thread.Sleep(1000);
}
// do something else that can only be done after SomeFunction() is finished
}
private bool _SomeFunctionFinished;
private void SomeFunction()
{
// do some elaborate $#@%#
_SomeFunctionFinished = true;
}
Run Code Online (Sandbox Code Playgroud)
更新:此代码应该是什么:
private void button1_Click(object sender, EventArgs e)
{
SomeFunction();
// do something else that can only be done after SomeFunction() is finished
}
private void SomeFunction()
{
// do some elaborate $#@%#
}
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
4548 次 |
最近记录: |