解惑

解己之惑,解人之惑

作者:cherami (第51页共82页)

电脑依赖症

感觉自己有深度的电脑依赖症,症状如下:

  • 没有电脑好像自己就什么都不懂了
  • 感觉很累,很疲劳的时候,如果坐到电脑前面就没有事情了,精力十足的样子
  • 除了用电脑外不知道还喜欢干什么,一般是上厕所的时候看一会书,坐地铁的时候读报,极少看电视,连续两天不用电脑是无法想像的
  • 视力下降严重,但是怎么也不能少用电脑,离开电脑就感觉没有事情可以做了
  • 用电脑和人聊天游刃有余,和人面对面聊天就不行,特别是陌生人
  • 做什么事情之前都先要上网搜索一下,看看相关的东西。

交了订金

历经磨难,总算是敲定了一个房子,交了一万的定金(呵呵,回来以后偶然看到一个文章说定金具备法律效力,而订金不具备,赶紧把收据找出来看了下,是定金),交的时候心里还真是有点惴惴不安,还是有点担心以后遇到各种问题。估计这段时间事情会比较多,公司的进度也比较紧张,而且还是快过年了,头疼啊。
可能是前段时间看到的负面信息太多,搞得我很害怕。这次交易的对象人比较老实,家里很不幸,四十多岁老公就因为癌症去世了,现在女儿还在读高中,她们家原来应该是有些钱的,97年装修的房子,装修花了8万块钱。所以我们好像也没有什么太担心的。希望一切顺利吧。

CVS开发方式是软件维护性的杀手

呵呵,不要误会,这里的CVS不是指版本管理的CVS,而是指程序员们最熟悉的三个快捷键:CTRL+C(复制)CTRL+V(转贴)CTRL+S(保存),一个软件产品中的很多代码都是这么得来的,以我们公司产品为例,最典型的莫过于Action的execute方法的前面对session是否过期的判断,以及调用后台的Session Bean的时候的异常处理,以及JSP中的大段类似代码。一旦需求发生变化,这些相关的代码可能都需要修改,我到这个公司的时候就发生过一次这样的事情:一个简单的修改要在百十几个Action中重复进行。
以我这些年的开发经验,我更加倾向于给开发人员提供一个受限的开发环境,可以供选择的接口很少,只有在必要的情况下才增加接口供开发人员使用,共通的功能只能通过共通的接口进行,否则你的工作量可能是使用正确的接口的十几倍。当然,这个开发方式比较适用于产品开发,因为项目的情况差异太大,而且开发周期相对比较短,这样做反倒延缓开发进度,增加成本。
至于如何提供那些接口,就是一个渐进的过程,开始的框架是一个宽泛的接口集,如果一段代码被重复三次,并且以后可能还会重复或者有类似的片断,那么就要马上对原来的代码进行重构,这样在第一个版本出来之前,我们就会得到一个比较好产品。在每个版本的开发前期、中期和后期都做一次代码检查,发现类似这样的代码重复问题并及时修改。

关于AJAX的一些思考

公司的产品中也引入了AJAX,但是是很简单的,代码都是自己写的,开发经理Paul看到Yahoo的新邮箱后感觉不错,期望我们也使用AJAX(实际上我们已经在使用了)。
使用AJAX,个人感觉有一些问题,首先就是开发难度,JavaScript的调试比较困难(相对于Java),而且还要解决浏览器兼容问题,另外一个就是性能,如果使用不好,对于性能反到是有害的,很多站点的解决方案都是一个大框架页面,剩下的块块都是使用AJAX一个一个加载(我们也是),这个对服务器端的负载实际是加重了。
当然也并非没有办法解决,首先就是要有一个合适的AJAX的框架,开发人员需要考虑的问题相对较少;其次就是和服务器端的交互,可以使用某种客户端缓存机制减轻负载并加快用户操作的相应时间。如果页面一直保持不完全刷新,那么这样的AJAX方案还是可以接受的,最怕的就是要经常完全刷新页面,或者是internet应用,需要对搜索引擎友好。

OO设计模式和设计原则(转帖)

很好的文章,下面是摘录,请直接下载原文阅读

1.1 设计正在“腐烂”的征兆(Symptoms of Rotting Design)
有四个主要的征兆告诉我们该软件设计正在“腐烂”中。它们并不是互相独立的,而是互相关联,它们是过于僵硬、过于脆弱、不可重用性和粘滞性过高。
1. 过于僵硬Rigidity
Rigidity 致使软件难以更改,每一个改动都会造成一连串的互相依靠的模块的改动,项目经理不敢改动,因为他永远也不知道一个改动何时才能完成。
2. 过于脆弱Fragility
Fragility 致使当软件改动时,系统会在许多地方出错。并且错误经常会发生在概念上与改动的地方没有联系的模块中。这样的软件无法维护,每一次维护都使软件变得更加难以维护。(恶性循环)
3. 不可重用性immobility
immobility 致使我们不能重用在其它项目中、或本项目中其它位置中的软件。工程师发现将他想重用的部分分离出来的工作量和风险太大,足以抵消他重用的积极性,因此软件用重写代替了重用。
4. 粘滞性过高viscosity
viscosity有两种形式:设计的viscosity和环境的viscosity。
当需要进行改动时,工程师通常发现有不止一个方法可以达到目的。但是这些方法中,一些会保留原有的设计不变,而另外一些则不会(也就是说,这些人是hacks)。一个设计如果使工程师作错比作对容易得多,那么这个设计的viscosity 就会很高。
环境的viscosity高是指开发环境速度很慢且效率很低。

2 面向对象的类设计原则
2.1 开放关闭原则The Open Closed Principle (OCP)
A module should be open for extension but closed for modification.一个模块应该只在扩展的时候被打开(暴露模块内部),在修改的时候是关闭的(模块是黑盒子)。
在所有的面向对象设计原则中,这一条最重要。该原则是说:我们应该能够不用修改模块的源代码,就能更改模块的行为。

2.1.1 动态多态性(Dynamic Polymorphism)
2.1.2 静态多态性(Static Polymorphism)
另外一种使用OCP的技术就是使用模板或范型,如Listing 2-3。LogOn函数不用修改代码就可以扩展出多种类型的modem。
阅读全文

表现层是最难解决的问题

在Web开发中,表现层是最难于通用化的,个人的感觉,Tapestry是一个不错的思路,可惜学习起来并不简单,而且也需要积累才能真正的简化开发。其它的表现层框架我都不是很看好,目前我的思路倾向于使用类生成页面,和模型层绑定,这样在产品或者大型项目中可以大大的简化工作量,也减少很多问题。目前,公司的产品中虽然是使用的这种思路,但是力度不够,组件太少,和模型的绑定也不够,需要写的代码太多,一种问题在不同的地方都需要小心,搞得QA也是很不爽。
而且表现层似乎也是搞开发的人中最不喜欢做的部分,因为“技术含量太少”,基本上堆代码肯定可以搞定。虽然我也不喜欢做表现层的工作,但是必须承认,如果能够实现一个易于使用的表现层框架,对于整个项目的贡献是很大的,至少有30%的代码量,因此可以简化的工作量实际上很多。公司考虑将更多的工作转移到中国来做,希望自己有机会能够改变这个情况,让表现层的工作更加的简单。

时间不够用

最近感觉时间严重不够,可能是年关将近,而且又开始买房子。按照我的计划,今年的头等大事可以算是英语了,但是最近的一次面试很失败,呵呵,感觉自己的设计能力确实还不够,考虑问题时一面考虑得很清楚,但是另外一面就比较差了,所以技术似乎也要提高。面试的人说:我很多年前就像你这样,晕
前两天一个同事推荐了一个电视剧,星际之门,是我最喜欢的题材,这个让我的时间更加的紧张,恨不得一天有48个小时。
快30的人了,事情突然间都冒出来了,其实可能最大的原因还是因为要买房子要结婚,家里的经济基础不好,买房和结婚只能完全靠自己,还得给家里一点钱,压力很大,加上老婆的要求比较高,所以只能努力找更好的工作,但是要找更好的工作就必须全面的提高自己的能力,而每个公司好像都只招天才一样。

将更多的工作转移到中国

今天公司开会,主题就是将更多的工作转移到中国来做,特别是很多架构的工作,这个对于我们中国研发中心肯定是一个好消息,因为从这次的版本升级看,开发的瓶颈在于美国的SPEC完成的速度,很多SPEC都是在我们的一再催促下草草完成的,问题多多,而且有些新招的架构师对系统不是很熟悉,写出来的SPEC问题更多。这次的变化对于我们是一个机会也是一个挑战,但是最起码说明美国那边已经开始重视这边的能力,而且我相信很多的架构工作可以放到中国来做。虽然中国研发中心的开发人员只有不到20个人,但是阵容还是很强大的,可以说方方面面的人才都有,有些还是熟悉多种平台和语言的。相信中国研发中心可以做得更好!

升级诺顿

从8.0时代开始,我就使用免费的诺顿企业版客户端,这个客户端比收费的个人版占用的资源更少,后来就渐渐的升级到9.0,从去年的可能10月份左右,在升级的时候就出现问题了,主要是主程序不能升级,也就是病毒引擎不能升级,但是病毒库还是会自动升级的,特别是配置了自动更新的情况下。这几天公司的很多同事的电脑都出现问题,影响工作,据说都是中了病毒,纷纷寻找杀毒程序。我的电脑自从我很久以前开始使用诺顿后就没有中过病毒,因为我都是设置自动更新病毒库,并且是每天我肯定在使用电脑的时候(公司的电脑设置的早上10点,家里的是设置的晚上8点)。由于主程序不能更新,今天特意搜索了下诺顿企业版客户端的最新版本,发现已经是10了,不知道为什么主程序不能更新到这个版本。

成为专家

这段时间一直在看房子,而且我们只能买比较老的房子,因为这样的房子比较便宜,我们挑选的地点也从现在住的花木变到三林政府附近,而在这个过程中,我们几乎遇到了买二手房可能遇到的情况:

  1. 看中房子,准备签约,但是被人出价高抢走
  2. 看中房子,打电话约上家,房子被其他的中介介绍的人先下了订金
  3. 房子的产证有问题,房子有抵押
  4. 房子没有产证,是原来的老公房,要先办产证再卖给我们,要我们下订金帮他们办产证
  5. 房子的产证是新的,是刚刚继承过来的,不知道是否要交营业税
  6. 骗首付的(中介朋友的亲身案例)

可以说买二手房可能遇到的问题我们差不多都遇到了,都快成二手房注意事项专家了。惟一值得欣慰的是到目前为止还没有任何经济损失。

更早的文章 更新的文章

© 2025 解惑

本主题由Anders Noren提供向上 ↑