Qiongsi 的个人资料Risk is Opportunity照片日志列表更多 工具 帮助
9月24日

GGY乱记

 

这次Co-op找了一个小但是却很精的公司做。公司名字叫GGY,有人乱解读为“叽叽歪歪”…………

回正题。这家公司只有一个业务,就是制作维护一个叫做AXIS的软件。目前加拿大几乎所有的中型或者大型的人寿保险公司都采用AXIS做Pricing和Valuation(小公司不用是因为AXIS比较贵……),美国和很多亚洲的保险公司也用这个软件。我上个term在Manulife的时候用的就是AXIS做valuation。当时觉得这个软件好难用,现在发现AXIS其实很好很强大…………

我在GGY发现了一个奇怪的现象。这家公司是由一堆中年男人和一堆研究生毕业不久的美女组成的。我感觉这种组合相当之暧昧。中间再加上两个co-op学生,实在是奇怪的打紧。

昨天天开始做第一个跟编程有关的任务——修补一个bug。因为之前Peter(公司的前辈,在公司可能有10年了,FSA),已经把bug是怎么产生的找出来了,所以留给我的任务不多,就是按部就班的修正一下就好。我做的也不慢,到昨天晚上已经把开发版本的代码修改完了。今天上午打算修改一下已经发布的版本,但是被Peter叫住。之后我们进行了一个长度约为一小时的对话。然后我做的东西就被推倒重来了。

返工的原因很有意思——正确的不是最好的。这是个很严重的问题。其实我在大一上CS125的时候就曾经想过这个事情。当时学校检查CS作业的方法比较傻,只是核对输出的结果,算法再烂也没有关系。于是那个时候我做的很多东西确实是对的,但是并不好。我昨天修补bug的方法很快,而且一定是对的(昨晚在公司的cpu farm上测试来着),从算法层面来讲也不算差。但是有一些严重的问题。第一个问题就是跟原有的代码风格很不一致。这肯定有个人作风的原因,不能讲好坏。但是我写的代码除了我自己之外,没人知道是干什么的。这个就是个很严重的问题。Peter给我做了一下示范,重新修改了代码。修改过后程序看起来统一性强上很多,可读性也强很多。这种Engineering的东西我在学校是没学过的。学校里讲了很多的理论,当然也有实践,但是实践依然是理论层面的实践,而且是每个人自己做自己的;现在跟人合作起来,面对的是很实际的software design的问题。在学校的时候觉得这些东西听起来特白痴,都好似些不言自明的道理,像什么认真写comment啦之类的,但是到了真正工业的应用中,我发现这些东西跟算法一样重要。

第二,细节没能做到最好。一个if statement,后面几个并列的条件,怎么排列,有不同吗?理论层面上,没有。如果bool a = true, bool b = true,bool c = false, 那么if (a&&b&&c)和if (c&&a&&b)有区别吗?运行出来都是false,if下面的代码都不会执行,看起来没区别。但是如果a,b,c需要调用函数来运算,而在80%的情况下c都会是false,那c&&a&&b就会快上很多,因为如果c是false,那a和b就根本不需要被计算。如果这个if statement是在一个loop里面的话,那c&&a&&b就节省了大把的运算时间。这又是一个Engineering层面的问题。Peter跟我说这个细节的时候我感到有些吃惊,觉得是不是太苛刻了。后来想想,为什么AXIS能成为几乎是世界上最好的精算软件,原因很大程度上就在与编程人员认真考虑这些细节,提升了计算速度。

我这回确实是亲身体验到正确的不是最好的,不但不是最好的,而且距离最好还相当的遥远。所以目标一定不能只是正确,要做就还是争取做得好。

今天先乱记到这里。等学到更多东西了再继续拿出来分享。

评论 (4)

请稍候...
很抱歉,您输入的评论太长。请缩短您的评论。
您没有输入任何内容,请重试。
很抱歉,我们当前无法添加您的评论。请稍后重试。
若要添加评论,需要您的家长授予您相应权限。请求权限
您的家长禁用了评论功能。
很抱歉,我们当前无法删除您的评论。请稍后重试。
您已超过了一天之内允许提供的评论数上限。请在 24 小时后重试。
因为我们的系统表明您可能在向其他用户提供垃圾评论,您的帐户已禁用了评论功能。如果您认为我们错误地禁用了您的帐户,请联系 Windows Live 支持部门
完成下面的安全检查,您提供评论的过程才能完成。
您在安全检查中键入的字符必须与图片或音频中的字符一致。

若要添加评论,请使用您的 Windows Live ID 登录(如果您使用过 Hotmail、Messenger 或 Xbox LIVE,您就拥有 Windows Live ID)。登录


还没有 Windows Live ID 吗?请注册

LiCynthia发表:
GYY,GGY-_,-
9 月 27 日
杨彦哲发表:
写一款好精算软件,看准某个学这个的姑娘,就当是给人家的礼物。
格老爷子读论文,你写软件,不错不错。
9 月 26 日
Qiongsi发表:
多谢猫了!
我在写精算软件。
大家一起加油考试吧!
9 月 25 日
WuFlorence发表:
啊GYY。。。!
你怎么还在实习捏?而且还是在编程?
anyway祝顺利啊~~
9 月 25 日

引用通告

此日志的引用通告 URL 是:
http://pathfinderarea.spaces.live.com/blog/cns!B3CC468A52DCAF8D!1248.trak
引用此项的网络日志