treenode

在路上。

BlogJava 首页 新随笔 联系 聚合 管理
  5 Posts :: 1 Stories :: 53 Comments :: 0 Trackbacks

我的评论

>>比如tab页的初始化和ViewStack,每次后面的都不初始化,至今没找到解决办法,我恨这个特性。


设置一个属性就可以在启动时自动初始化所有页面了。有这么困难吗?

re: 在SWT中实现自绘Combo[未登录] treenode 2007-02-08 22:07  
文档里是没有写的,因为这是SWT的内部实现。你从Eclipse网站上下载SWT源代码包,打开以后就可以找到这些包和所有代码,里面实现了什么则需要自己去研究。

re: 武侠隐喻反思 TreeNode 2006-12-01 17:55  
脚踏实地是一种职业素养。这不是道德要求:我们要的是合格的软件工程师,不需要正义的使者。

我衡量一个人的标准,不是看技术水平高低,而是看他对开发的作用:是建设还是破坏。如果一个人水平很高,但是不能和其他人合作,那么水平再高也不能要。

你可以理解为团队协作,但我真正要表达的意思是:武侠观念影响下容易出现唯技术论的“高手”,而不是IT业真正需要的软件工匠。
re: 武侠隐喻反思 TreeNode 2006-12-01 17:27  
@ 心内求法:

你所说的“大侠”所为正是我想要反对的东西。

至于德,我不太想提它,因为和我想说的关系不大,而且含义也太模糊。
在中国几千年历史上,道德礼教一直是统治者用来杀人的刀。
不如说公民素质,可操作性还强一些。
re: 内部类让我厌恶Java TreeNode 2006-07-07 21:36  
Java和内部类都不是我骂的对象。语法只是语法,语法是无辜的。我想骂的是这个设计语言的人。
re: 内部类让我厌恶Java TreeNode 2006-07-07 08:43  
楼上:这段代码不是我写的。我不过是把Eclipse.org上面那些大牛的code摘下来一段。

你看看你重构出来的这几个类有什么特点?它们都只有一个方法,并且没有自己的任何状态。这是一个典型的反模式。一个没有自己状态的类根本不应当是一个类。就像Math一样,不过是为了为那些没主的方法找一个杂货柜。内部类在这里就像一个杂货柜。

更新text文本本来就应当是窗口的责任。把它作为类的方法是最自然最清晰的,而且可以重用。硬是塞一个内部类干什么?为了满足方法签名而已。除此以外对代码结构没有一点好处。
re: 内部类让我厌恶Java TreeNode 2006-06-22 18:59  
@猪:
我不知道你有没有用过Swing或SWT。为什么我讨厌内部类还不得不用它?原因文章和回复里已经说过好几次了。

我还特意把程序代码摆了出来,似乎很多人都不看。哪位有信心说“我能把第一段代码改到很漂亮”吗?那样我就相信你。
Swing我不熟悉,不评论。
re: 对代码有感情,对质量有追求 TreeNode 2006-06-18 16:05  
我看那帖子里大部分回帖确实是善意的。这个小伙子没有清晰的职业规划,既然自己不是那种能挽狂澜于既倒的人物,留着挨日子对自己对老板有什么好处?离开就等于对代码没感情了?我同意其中一个回帖,你确实不应该鼓励这种行为。公司需要能够创造价值的员工,员工需要能为自己提供发展空间的公司,如果两方面都作不到,那么走是再自然不过的。让他弄清楚自己的职业发展对他今后有好处。
re: 扩展Eclipse视图弹出菜单(二) TreeNode 2006-06-16 20:27  
visable=visible?
re: 内部类让我厌恶Java TreeNode 2006-06-16 20:22  
看了,FunctionalJ还是弱类型的,引用方法名用的是字符串。
这种办法还是需要得到工具的支持才用得起来。
re: 内部类让我厌恶Java TreeNode 2006-06-16 19:29  
还是没看到一个实例。呵呵。

@绿色使者、绿色心情
基本同意你的看法。Anders做了那么多年Delphi的架构,对于语言的理解的确很少有人能超过他。更重要的是他是一个注重实际的人,了解这方面程序员的实际要求。不过在企业架构这方面他也并不怎么在行,人无完人吧


@Robin's Java World:
你猜错了,我的背景是VC和Delphi。接触.Net要比Java晚两三年。
我自认对语言没什么偏见,Java的语言特性绝大多数也都乐意接受。只有内部类是例外。

@原创专栏 开源学习:
估计错误。我很喜欢Ruby,我觉得Ruby用Block来实现回调的办法很灵巧。

理解性差何指?如果不研究实现细节,语法上没什么不好理解的。
.Net面向对象性问题,我认为ADO.NET和ASP.NET的总体设计是有缺陷的。
但是对delegate这个语法特性,我觉得没什么问题。


@puke:
内部类我能不用就不用,但是Java我还是要用的。OTL

@CowNew:
如果大家都在用看上去有问题的办法,那就一定存在真正的问题。为什么那些人都要用内部类呢?因为没有办法。难道有多少个菜单/按钮你就写多少个外部类不成?如果说有人用错了,那么Java也有责任,因为这种语法就是在逼着人用错误的办法做事。


另:在google上搜索jfunctor竟然只有几个看上去像C++的东西,关键字错误吗?
re: 内部类让我厌恶Java TreeNode 2006-06-16 00:34  
delegate事实上不是指针而是对象,一个派生于MulticaseDelegate的对象。M$隐藏了它的细节而已。

内部类的封装和复用体现在哪呢?我是这么看的:如果它和外部类需要如此紧密的耦合,以至于可以完全访问外部类的所有私有字段,那么它恐怕根本就不应该作为一个类。不然的话,它反而只是在破坏外部类的封装。如果它和外部类没有耦合或者只有接口耦合,那么它完全应当拿出来作为单独的类。

我不知道内部类复用性强指的是什么。内部类严重依赖于外部类的存在,你根本没法把它单独拿出来复用。也许你说的是多个方法可以共用同一个内部类?这不是什么值得一提的优点,其他语言的回调方法一样是可以共用的。

我还是希望能看到一个能证明内部类优点的实例,空对空的感觉实在是不太好。
re: 内部类让我厌恶Java TreeNode 2006-06-15 23:46  
答CowNew:我自己就经常这么写。不过这样也没多少好处,比比看C#怎么写:
btnInvoke.Click += BtnInvokeClick;

再看看Java如何用四五行代码、两层括号实现同样的功能。何苦呢?

我倒是很想看看什么地方可以用内部类优雅的解决其他办法解决不了或很难解决的问题。但是我还没有看到过。倒是很多Java教科书都苦口婆心的说:学会适应内部类吧,熟悉以后你会发现它并不是那么难。这样的说明本身就让我觉得很有趣。

回调简单吗?我在这个BLOG上的另外一篇里面也说到这个问题。回调概念简单,实现起来其实是相当复杂多变的。这个领域里C++有functor,MFC有Handle Map,ATL有Thunk,VCL有TMethod,Python和Ruby有closure。多到让人眼花缭乱的地步。Java的实现是最让我觉得难看的一种。

答江南白衣:
JFunctor我不了解,有机会看看。
自己曾想过用反射,不过反射的问题是Java并不把函数当成对象,因此C#那样的语法是行不通的。如果用方法名称的话就没有编译器检查,同步是个问题。
另反射的性能也要考虑,对于一般的消息没有问题,如果是MouseMove或者很频繁的Timer事件是会影响效率的。
今天上传文件仍然失败,我放弃了。全文做成PDF格式,有兴趣的可以到这里下载:

http://www.yousendit.com/transfer.php?action=download&ufid=19BF243E3E7F9D9C


或者如果有Eclipse中文社区帐号的话,这里也可以:

http://www.eclipseworld.org/bbs/read.php?tid=5132


SWT的线程,只要了解Display对象提供的几个同步方法,其他方面和一般的Java线程没有什么差别了。Eclipse.org上面的文章也说得很明白,似乎没有什么东西可写的。
答楼上,我已经努力了一整天,不知是否因为文章太长格式复杂,这个HTML编辑器速度难以忍受而且频频出现脚本错误,上传文件也失败。我觉得很失望。或许我会想其他办法解决。