我一直认为我的代码风格是好的, 毕竟经历长期的磨练, 可是和公司的要求不符合, 当然在一个团队里面必须遵守统一的归约, 这无可争辩, 可是他们硬是要说我的风格差, 我就不服了. 有的同事还振振有词地说我要摒弃以前的陋习, 弄的我自己真的怀疑我的代码风格是不是真的不好, 后来问了项目经理, 才真相大白!!! 举一个例子, 大家看看: 相同的程序, 我的代码是这样写的(省略注释,不是公司内部代码,不要对号入座) 01: public bool ShowClientDataSet( string argQueryStatement) 02:{ 03: bool bValRet ; 04: System.SqlClient.SqlDataReader res; 05: res = new System.SqlClient.SqlDataReader(); 06: try 07: { 08: res = this.DbConnection.ExecuteQuery( argQueryStatement ); 09: } 10: catch (SqlException excQueryException) 11: { 12: this.ApplicationLog.Add("Query Error , occured:" 13: + excQueryException.ToString()); 14: } 15: int iCount = 0; 16: try 17: { 18: while ( res.Read()) 19: { 20: res.GetValues(this.objDataSet); 21: this.viewInterface.ReceiveDataSet(this.objDataSet); 22: iCount++; 23: } 24: } 25: catch (SqlException excQueryException) 26 : { 27: this.ApplicationLog.Add("Query Error , occured:" 28: + excQueryException.ToString()); 29: } 30: if ( iCount > 0 ) 31: { 32: this.viewInterface.Show(); 34: bValRet = true; 35: } 36 else 37 : { 38: bValRet = false; 39: } 40: return bValRet; 41:} 公司按照日本客户要求的: 01: public bool ShowClientDataSet( string argQueryStatement) { 02: SqlDataReader res = new SqlDataReader(); 03: try { 04: res = DbConnection.ExecuteQuery( argQueryStatement ); 05: int count = 0; 06: while ( res.Read() ) { 07: res.GetValues(DataSet); 08: Interface.ReceiveDataSet(DataSet); 09: count++; 10: } 11: } catch (SqlException ex) { 12: ApplicationLog.Add( ex.ToString()); 13: } 14: if ( count > 0 ) { 15: Interface.Show(); 16: return true; 17: } else { 18: return false; 19: } 20:} 最显著的区别是代码长度, 我的是41行, 公司的是20行, 主要发生在,: 一: 我的缩行形式是微软形式的, 公司沿用的是PASCAL形式的, 我觉得PASCAL形式早在80年代就应该被淘汰.不知道为什么先进的Eclipse IDE也使用这样的. 二: 我使用了两个try,catch, 公司只用一个, 我的理由是两个异常的发生的原因是不一样的.方便调试. 三: 我使用了一个bValRet变量, 而公司使用了两个return语句, 我的理由依据理论上的是算法最好使用单出口, 所以不使用两个return 四: 我使用定义和赋值分开写法.公司却写在一起,这是我的习惯, 没什么理由 五:方法的参数个数多, 或者字符串长度长的时候, 我会分行。公司迫不得已的情况下不分行. 上面五个方面会显著影响代码长度, 在学校读书的时候, 我就这样做,只考虑代码清晰, 不考虑代码行数问题 另外: 我使用的变量名前缀是小写的类型名,后面的单词用大写字母区分, 类名会完整地写上命名空间,类内引用自身属性一般加上this. 公司使用的是JAVA类库的写法, 我很 Shit 的写法 不知道SUN是怎么想的。 总的来说, 我更喜欢自己的写法, 有一次和项目经理聊天, 终于知道了真相, 其实并不是我的风格不好, 是因为日本客户为 了防止程序开发商的代码写地过长所规定的, 上面这段程序, 按每行2圆的价格交易的 话, 我的程序日本客户要付82元, 而公司交易的, 日方只要出40元, TMD我们劳动力本来就 如此低廉, 他们还要在里面绞尽脑汁地缩水, 一个这么有钱的国家也这么吝啬, 可见我们被 日本人鱼肉的现状. 不知情的人还大势吹嘘这种风格好, 要我抛弃以前'陋习. 被人卖了还帮别人数钱, 悲哀!!

评论