奇怪的设计,奇怪的想法

渐渐深入公司的项目,今天用上了最新版的营销MIS 2.0程序,启动之后提示有升级,那肯定要升级了,谁知道升级之后第一个对话框让输入一个IP还是说数据库IP,输入之后N长时间没有反应,kill掉再启动,仔细发现后面多出一个被前面的对话框挡住的信息提示对话框。“未能获取数据库连接字符串”!问问同事说,程序会调用一个Web Services来获取连接字符串。显然是Web Services调用失败,问问模块开发人员,结果是要找谁谁谁,又要找谁谁谁。最烦这种事了,直接用Reflector看看吧,结果还只有通过调用Web Services来获取连接字符串。第一次见! 用Reflector发现更多的很奇怪的地方,不合理的地方总结如下,以供参考:(千万不要这样使用)
  1. 既调用了dotNet 1.1框架,又调用dotNet2.0框架。建议:只使用一种框架,全部升级到2.0或者直接用1.1。
  2. 软件第一次成功启动几率很低,比以前我们做的学籍系统还低。建议:第一次启动成功非常重要。
  3. 连接字符串配置调用Web Services,IIS故障或网络会导致软件直接不能使用。建议:app.config中放连接字符串足以,可采用加密字符串来保证安全性的需求
  4. C#调用了很多Microsoft.VisualBasic空间的类和方法。建议dotNet 2.0中和C#2005中已经对很多以前Microsoft.VisualBasic中的方法支持了,现在没有太多的必要使用这个空间。
  5. 使用了很多帮助中标有”此方法支持 .NET 基础结构,但不适合在代码中直接使用。“的方法,见到StringType.StrCmp这样的方法很奇怪,C#中不是有很好的字符串比较方法么。建议:微软都说不适合直接使用了,除非是没有更好的方案,实在是没有必要使用。
    还有更多方面,慢慢再记录吧,当做设计、编码的反面参考吧。