佳礼资讯网

 找回密码
 注册

ADVERTISEMENT

查看: 1834|回复: 17

这样都算是Programmer吗

[复制链接]
发表于 12-3-2007 12:12 PM | 显示全部楼层 |阅读模式
我的同事,和我一样都是Senior Developer,有一次看到她写这样的Statement (C#),我简直傻了眼

object obj = (object)anInstance;

如果这就是马来西亚Programmer的水平,那我就要
回复

使用道具 举报


ADVERTISEMENT

发表于 12-3-2007 01:27 PM | 显示全部楼层
原帖由 siaolee2000 于 12-3-2007 12:12 PM 发表
我的同事,和我一样都是Senior Developer,有一次看到她写这样的Statement (C#),我简直傻了眼

object obj = (object)anInstance;

如果这就是马来西亚Programmer的水平,那我就要



兄台,人有失手马有失蹄
可能一时的疏忽都说不定,你应该给他纠正,而不是责怪他
回复

使用道具 举报

发表于 12-3-2007 07:44 PM | 显示全部楼层
更过份的都有啦!
毕竟人不是机器,
总有出错或不小心的时候

未免太小题大作了吧?
回复

使用道具 举报

发表于 13-3-2007 12:45 AM | 显示全部楼层
嘿... 先了解别人为什么那样写... 说不定说出来的答案你完全不明白.

人偶尔犯错, 这是很平常的事, 并不能代表个人的整体水准.
回复

使用道具 举报

 楼主| 发表于 13-3-2007 09:18 AM | 显示全部楼层
可能我之前没有解释清楚,让我试着详细说一遍

因为我们的程式(其实主要是她写的)有些Bugs,然后她就在我和另一个同事前一起Debug并修改。因为她的Code实在太乱,一时之间只好不管三七二十一随便怀疑有问题的地方便乱改。

实际情形是这样,
MyClass anInstance = new MyClass();
// Initialize and do some processing here
DoSomething(anInstance); // <- this line crashes

注:DoSomething()的Signature大概是这样
void DoSomething(object target);

结果她就改成以下这样,
MyClass anInstance = new MyClass();
// Initialize and do some processing here
object obj = (object)anInstance; // Attempt to 'Up Cast'
DoSomething(obj); // <- As expected, this line still crashes

如果以非Programming的角度来解释,就可以这样举例形容:
饭(DoSomething)是给人(object)吃的
男人(MyClass)是人(object)的一种
我,siaolee2000(anInstance)是男人
问题来了,
为什么给我吃饭前要将我变成(Up-Cast)人???很明显由一开始我就是人。

我在她这样改前已经很婉转说了,她硬要改。我不是要攻击任何人,可是我觉得她这样乱乱改根本就是不负责任,因为这样会误导其他同事。我之所以说她不是Programmer,因为她的Concept根本就错了。

[ 本帖最后由 siaolee2000 于 13-3-2007 09:25 AM 编辑 ]
回复

使用道具 举报

发表于 13-3-2007 12:54 PM | 显示全部楼层
我了解楼主的情形。

1994年那一年,OOP 的锥形概念已在 CA-Clipper version 5.2 里应用着,我醉心得废寢忘食,并此研发一套程序库,编程时间可以缩短一半,编程功力增加一倍。

我和我前上司讲解它的用法,他接受不到这种概念,短短3年里 OOP 已普及化,至今他还停留在 Clipper 的 Procedural Programming 沿用到现在。我则用 Clipper 的 OOP,接着同一年,CA-Object 开始面世,不好用也被时代淘汰了,94年,我转用 Visual FoxPro 3.0 第一套视窗版本面世,(FoxPro 2.6 for DOS/Windows 不是视窗版本)。由此可见,概念的重要性。
回复

使用道具 举报

Follow Us
 楼主| 发表于 13-3-2007 02:19 PM | 显示全部楼层
如果了解到自己的不足之处,肯虚心学习,那也不是大问题。可是很多人都为了面子,凡事不求甚解
回复

使用道具 举报

发表于 13-3-2007 05:34 PM | 显示全部楼层
我认为不是问题。

有问题也是 DoSomething 里面的问题。

    public void DoSomething(Object target) {
        if ( (target instanceof ManClass) || (target instanceof WomanClass) ){
            String userName = BeanUtils.getProperty(target, "UserName");
            Action1(userName);
        } else if (target instanceof AnimalClass) {
            Action2(animalName);
        } else {
            // User Friendly Error Message
        }
    }

3rd Party 的 Library 用自样的代码是很普遍的。

    //http://jakarta.apache.org/commons/
    public void DoAnotherThing(Object source, Object target) {
        try {
            //http://jakarta.apache.org/commons/beanutils/
            org.apache.commons.beanutils.BeanUtils.copyProperties(source, target);
        } catch (Exception e) {
            e.printStackTrace();
        }
    }

[ 本帖最后由 hkloke2000 于 13-3-2007 05:50 PM 编辑 ]
回复

使用道具 举报


ADVERTISEMENT

 楼主| 发表于 25-4-2007 04:30 PM | 显示全部楼层
我的这位同事又有新的杰作,因为她不会Web Programming的Concept,她就到处跟其他人说我们公司里没人会Web。事实是她从没问过其他人到底会不会。
回复

使用道具 举报

edh 该用户已被删除
发表于 25-4-2007 09:53 PM | 显示全部楼层
[纯属吐嘈]
不吐不快,代表新人类班门弄斧也要说几句!!!

遇到恶死的senior, 没鼓励没guide兼要被泼冷水, 耍猴子那样玩一餐,又说你不带脑出街,然后最后也未必拿到答案,点到你头晕晕.

我也知道这行如果有不懂的地方就去问google, 但是隔壁有个"字典"难道不问meh.

P/S: 不发泄下, 新人的火都不知道该往那处发. :@
回复

使用道具 举报

发表于 25-4-2007 11:18 PM | 显示全部楼层
原帖由 edh 于 25-4-2007 09:53 PM 发表

我也知道这行如果有不懂的地方就去问google, 但是隔壁有个"字典"难道不问meh.


有这种想法其实很不应该,不要滥用了你发问的权力。
在这种情况下你可以发问:

1。做了 coding 半天还做不出,可以问问 senior 的意见。
2。Google 倒了,Yahoo 倒了。
3。不明白的 Business Logic/Flow。
回复

使用道具 举报

发表于 25-4-2007 11:39 PM | 显示全部楼层

回复 #5 siaolee2000 的帖子

那请问你已经找出 DoSomething() crash 的原因了吗?
回复

使用道具 举报

发表于 26-4-2007 12:22 AM | 显示全部楼层
遇到恶死的senior, 没鼓励没guide兼要被泼冷水, 耍猴子那样玩一餐,又说你不带脑出街,然后最后也未必拿到答案,点到你头晕晕.

我也知道这行如果有不懂的地方就去问google, 但是隔壁有个"字典"难道不问meh.




可否曾换个角度想,这都是磨练? 你的senior刻意给你的磨练?

面试时刻意让你等上半个小时到一小时,甚至更多。
上班后明明你是程式员却叫你搬搬抬抬,叫你做书记的工作、检查数据。
明知道你不会还就是不肯帮你,还说:我以前都是没人教自己找解决方法的,你也自己找吧。。。


其实,这都是小测试。测试你的耐心,测试你的脾气。
你没耐心脾气坏,怎面对用户怎面对客户?
他们可是衣食父母啊!


你也许会觉得这是寄生瞎说,但昨天,寄生就从几个十几二十年经验的IT人听来这些说话。

加油吧。
回复

使用道具 举报

发表于 26-4-2007 10:07 AM | 显示全部楼层
原帖由 檞寄生 于 26-4-2007 12:22 AM 发表




可否曾换个角度想,这都是磨练? 你的senior刻意给你的磨练?

面试时刻意让你等上半个小时到一小时,甚至更多。
上班后明明你是程式员却叫你搬搬抬抬,叫你做书记的工作、检查数据。
明知道你不 ...


这可能也是原因之一,之前我的senior都是这样对我的。。现在他们离开了,我还要感谢他们给我机会
回复

使用道具 举报

发表于 1-5-2007 01:02 AM | 显示全部楼层
原帖由 edh 于 25-4-2007 09:53 PM 发表

不吐不快,代表新人类班门弄斧也要说几句!!!

遇到恶死的senior, 没鼓励没guide兼要被泼冷水, 耍猴子那样玩一餐,又说你不带脑出街,然后最后也未必拿到答案,点到你头晕晕.

我也知道这行如果有不懂的地方就 ...



但如果把你当猴子般耍就不应该啦

其实我也是会这样教新人..对他们, 训练他们做逻辑思考更重要过我把CODE写出来. 我通常也是帮LOGIC/ BUSINESS FLOW 讲给他们听, 然后自己思考, 我最多是教一些他们不知道的FUNCTION, 毕竟我当年也是这样学来的. 通常对新人来说, 能力不重要, 重要的是对工作的态度, 如果你态度正确, 几辛苦你都会学, 研究, 找资料. 但如果你就只会抱怨, 然后在公司里上JOBSTREET等另一家公司挖你...我相信同样的抱怨会在另一家公司出现.


我还遇过更"Jia Lat"的新人, 给他一个MODULE做, 然后限定一天时间...解释清楚了....然后他竟然说:"如果你很赶的话, 不如你自己拿回去做...." @#$%$#@ 我对他的能力评估是3-4小时就可以完成任务了的. 但答案简直让我没力......
回复

使用道具 举报

发表于 1-5-2007 03:51 PM | 显示全部楼层
其实......想进这行也不容易的, 以前的学业成绩不好, CGPA不高或者以前曾经经历过没过probation,其实也很难有人要interview你, 找不到工作的期间就尽量自我提升吧, 也想找些freelance看看自己能不能handle到, 也不用生活到那么惨吧.
回复

使用道具 举报


ADVERTISEMENT

发表于 3-5-2007 03:54 AM | 显示全部楼层
你这个情况我不清楚,  但是up cast 在 C++ 是可能的, 只是很少情况要那么做。
回复

使用道具 举报

 楼主| 发表于 3-5-2007 10:49 PM | 显示全部楼层

回复 #17 吃饱没事量马路 的帖子

C++ 是 Multi inheritance 所以需要 Up cast, .NET & Java, etc 都是 Single inheritance.
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

 

ADVERTISEMENT



ADVERTISEMENT



ADVERTISEMENT

ADVERTISEMENT


版权所有 © 1996-2023 Cari Internet Sdn Bhd (483575-W)|IPSERVERONE 提供云主机|广告刊登|关于我们|私隐权|免控|投诉|联络|脸书|佳礼资讯网

GMT+8, 29-8-2025 01:12 PM , Processed in 0.132029 second(s), 25 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表