Anders Liu (lover_P)的.NET天空

传播知识基于掌握知识,但又高于掌握知识。我要做一个掌握很多知识的传播知识的人!

刘彦博ID:loverP
108808次访问,排名795好友0人,关注者5
loverP的文章
原创 35 篇
翻译 5 篇
转载 0 篇
评论 190 篇
Anders Liu的公告


我写的书


购买途径:
最近评论
mldstk:wow power leveling
l763820708:有-在17号端口
txfast:这些话说的比较实际,其实说学习能力强只是一句空话,因为刚进公司,谁能够认可你的学习能力强,谁又能否定一个人的学习能力?
Wind_Eagle:想不到情人节还有心思写博客呀!不错,我有同感 !
heaso14:照着做了 还是有问题啊...

1>MSVCRT.lib(crtexew.obj) : error LNK2001: 无法解析的外部符号 _WinMain@16
1>C:\Documents and Settings\Administrator\My Documents\Visual Studio 2005\Projects\a\PureC\Rele……
文章分类
收藏
    相册
    MVP Logo
    文章用图1
    存档
    软件项目交易
    订阅我的博客
    XML聚合  FeedSky
    订阅到鲜果
    订阅到Google
    订阅到抓虾
    订阅到BlogLines
    订阅到Yahoo
    订阅到GouGou
    订阅到飞鸽
    订阅到Rojo
    订阅到newsgator
    订阅到netvibes

    原创 [述评] 也说《代码大全2》收藏

    新一篇: Tech Ed 2006召开在即 | 旧一篇: [连载] 用C#进行思考(三 之 前传)用委托实现回调

      通读《代码大全2》已经是几个月前的事情了。

      我的工作中有一项是给各种各样的程序员或准程序员培训.NET开发技术,其中又以C#语言课程为基本。今天恰好是一个为期3周的C#课程的尾声。在这一期课程里,我打破了所有过去积累下来的培训经验,而是从课程第一天,就开始向学生灌输设计、架构、思想方面的内容——虽然他们大多数是没有基础的人。每讲到一个语法(或类型或技巧),就把相关的思维方式介绍出来,告诉大家“遇到什么问题时如何去想,并用这种语法 (或类型或技巧)来解决”。

      经过这样一期独特的课程,学生们是否“受益匪浅”我不清楚。但对于我来说,绝对是一种技术和思想上的提炼。我自己对编程(写代码)又有了新的认识。

      由此,我想起《代码大全2》,我想该写下些什么了。

    说说原作者和原书

      原作者Steve McConnell,两届Software Development Magazine Jolt Award震撼大奖得主。我不认识他,十年前我还不知道“编程”是什么。

      其实我并没有(也没打算过)看英文原著,但这并不影响我对原著的感受。

      每次看到老外的书的时候都有两种感觉——第一种就是,老外可真猛,写出的书动辄上千页,就是不让你躺在床上看,必须要恭恭敬敬坐在桌边洗眼恭看才行。不过这样也好,至少给了我一个可以冲一杯咖啡,边喝边看的机会。

      这样的书给我的第一感受就是,内容如此之多,写起来也就慢,因此时效性肯定不强。不过作者很精明,避开了很多具有时效性的内容,讲解的都是亘古不变的经典理论和技术。

      这样一来作者就面临挑战啦,这样的书籍往往容易被写成哲学书籍,空讲一大堆道理,讲一箩筐谁也看不懂的小故事。但作者也是很巧妙地穿插理论内容和技术内容,整本书随手翻来,既可以读到精辟的言语,也可以看到一语理解的代码片断。

    说说翻译

      每次看到老外的书的时候都有两种感觉——第二种就是,翻译得可真烂!这句话可能有所偏激,但我想说出了绝大多数技术人员的心声。不过第一次随手翻看代码大全时,第一感觉是,“看起来不错”;略读几个章节,哇,“真的不错”。

      首先,这本书的翻译在标题上采用了中英对译的方式,这在近几年似乎尚属首例。而在整体文字上的翻译时,看得出来,译者非常忠于原著,但又不刻板于原著。我也曾翻译过一些技术文章,也参与过某些书籍的部分翻译,很多我曾拿捏不准并为之懊恼的词汇、句法,都在这本书中找到了答案。

      而且,感觉作者的牺牲精神也是很强的,并没有在书中表达过多的自我。众所周知,翻译是二次创作,译者有很多可以发挥的空间,但很少有人能把握好分寸。我是一个属于过分忠于原著的人,以至于翻译的作品死板,近乎于机器翻译;而我也看过不少书,通篇上下布满了“译者注”,最可恶的是,我看过一本.NET书,竟然在译者注中提到“原著有误,正确的应是……”,结果我反复实现了好多次,发现原著并没有什么错误,译者注反而是错误的,不知道为什么会出现这种失误,总之是无可饶恕的。以至于我在给学员推荐书籍,提到这本书的时候,不得不严重声明:请只看翻译内容,不要看译注。而在《代码大全2》的翻译中,译注并不少,但大多是一些资源引用,译者并没有把自己的观点太多地强加于原著,这不能不说是一种牺牲。说到资源引用,这些引用中所提到的书籍,并非只有博文视点一家出版的,而是所有对本书有用的书籍均细细罗列——这应该算是博文视点的牺牲了吧,为了让读者更好地理解本书和学习更多知识,免费给人家打这么多广告。(哈哈,这算是我以小人之心度君子之腹了,要是我,恐怕只列自己公司出版的东西。)

    再说内容

      不得不提一些遗憾。原书很多言语抨击了其他与作者相左的思想,未免有些偏激。另外,原书内容不能不说有些零散,虽然是按照软件开发的流程顺序整理出来,但前后跨度较大,如果是拆成3本书,效果恐怕更好。

     

      PS,我最喜欢这本书第18章《表驱动算法》,其实我和我的很多朋友都在不自觉地使用这种技巧了,但这一章对其进行了详细和系统的讲解,让我受益匪浅。以至于我现在讲课,不论各种水平的学员,表驱动算法都是必讲的一课。

    发表于 @ 2006年09月16日 11:42:00|评论(loading...)|编辑

    新一篇: Tech Ed 2006召开在即 | 旧一篇: [连载] 用C#进行思考(三 之 前传)用委托实现回调

    评论

    #宋元超 发表于2006-09-23 09:49:00  IP: 222.135.92.*
    刘老师您好:

    我遇到一个问题,在移动webform中放一个textbox然后让它在页面加载的时候能自动得到焦点,类似超市收银扫条码的程序。我用的是textbox.focus() 方法,但是运行的时候出InvalidOperationException 提示“必须存在 runat=server 的窗体标记,才能使用 SetFocus() 或 Focus 属性
    当您在 Visual Studio 调试器中运行代码时,如果您从一个线程访问某个 UI 元素,而该线程不是创建该 UI 元素时所在的线程,则会引发 InvalidOperationException。调试器引发该异常以警告您存在危险的编程操作。UI 元素不是线程安全的,所以只应在创建它们的线程上进行访问。。”

    是多线程的问题么?还是出现命名空间冲突?

    这个问题困扰我很长时间了,希望您能在百忙中抽空解答一下。
    http://community.csdn.net/Expert/topic/5008/5008776.xml?temp=.7688715
    http://community.csdn.net/Expert/topic/5014/5014965.xml?temp=.6140406
    我的信箱:sycdirdir@163.com
    此致
    敬礼!

    宋元超
    #sycdirdircc 发表于2006-09-23 09:49:00  IP: 222.135.92.*
    刘老师您好:

    我遇到一个问题,在移动webform中放一个textbox然后让它在页面加载的时候能自动得到焦点,类似超市收银扫条码的程序。我用的是textbox.focus() 方法,但是运行的时候出InvalidOperationException 提示“必须存在 runat=server 的窗体标记,才能使用 SetFocus() 或 Focus 属性
    当您在 Visual Studio 调试器中运行代码时,如果您从一个线程访问某个 UI 元素,而该线程不是创建该 UI 元素时所在的线程,则会引发 InvalidOperationException。调试器引发该异常以警告您存在危险的编程操作。UI 元素不是线程安全的,所以只应在创建它们的线程上进行访问。。”

    是多线程的问题么?还是出现命名空间冲突?

    这个问题困扰我很长时间了,希望您能在百忙中抽空解答一下。
    http://community.csdn.net/Expert/topic/5008/5008776.xml?temp=.7688715
    http://community.csdn.net/Expert/topic/5014/5014965.xml?temp=.6140406
    我的信箱:sycdirdir@163.com
    此致
    敬礼!

    宋元超
    发表评论  


    当前用户设置只有注册用户才能发表评论。如果你没有登录,请点击登录
    Csdn Blog version 3.1a
    Copyright © Anders Liu