标题:浅谈对日外包中的代码风格(非水贴)
只看楼主
wangnannan
Rank: 18Rank: 18Rank: 18Rank: 18Rank: 18
等 级:贵宾
威 望:87
帖 子:2545
专家分:9359
注 册:2007-11-3
结帖率:80.91%
 问题点数:0 回复次数:11 
浅谈对日外包中的代码风格(非水贴)
有的人一直认为只有我的代码风格是好的  毕竟经历长期的磨练 毕竟是老手 毕业工作好多年了  阅历在那里呢 毕竟。。。。 就像我这种 所以人那就得总要自我总结一下 有时候停下来在等等 在看看自己现在做的事 对不对
自己认为对的未必是对 有可能是和公司的要求不符合  当然在一个团队里面必须遵守统一的归约 这无可争辩  可是他们硬是要说我的风格差 我就不服了 有的同事还振振有词地说我要摒弃以前的陋习  弄的我自己真的怀疑我的代码风格是不是真的不好 后来问了项目经理, 才真相大白!!! 一下摘自自己工作中的例子
相同的程序 我的代码是这样写的(省略注释 不是公司内部代码 不要对号入座 我只是举例子)
程序代码:
public  bool   ShowClientDataSet( string  argQueryStatement)

 {

      bool  bValRet ;

     System.SqlClient.SqlDataReader  res;

       res  =  new  System.SqlClient.SqlDataReader();

      try

      {

            res = this.DbConnection.ExecuteQuery( argQueryStatement );

      }

      catch (SqlException excQueryException)

      {

                  this.ApplicationLog.Add("Query Error , occured:" 

                               +  excQueryException.ToString());

    }

    int iCount = 0;

    try

    {

          while  (  res.Read())

          {

                  res.GetValues(this.objDataSet);

                  this.viewInterface.ReceiveDataSet(this.objDataSet);

                  iCount++;

           }

    }

    catch (SqlException excQueryException)

   {

             this.ApplicationLog.Add("Query Error , occured:"

                          + excQueryException.ToString());

    }

   if ( iCount > 0 )

    {

             this.viewInterface.Show();

            bValRet = true;

    }

     else

   {

               bValRet = false;

    }

    return   bValRet;

}

搜索更多相关主题的帖子: 风格 自我总结 项目经理 
2015-06-18 15:31
wangnannan
Rank: 18Rank: 18Rank: 18Rank: 18Rank: 18
等 级:贵宾
威 望:87
帖 子:2545
专家分:9359
注 册:2007-11-3
得分:0 
程序代码:
public  bool   ShowClientDataSet( string  argQueryStatement) {

      SqlDataReader  res = new  SqlDataReader();

       try  {

       res = DbConnection.ExecuteQuery( argQueryStatement );

     int count = 0;

     while  (  res.Read() )  {

        res.GetValues(DataSet);

        Interface.ReceiveDataSet(DataSet);

        count++;

       }

    } catch (SqlException ex) {

             ApplicationLog.Add( ex.ToString());

      }

   if ( count > 0 )  {

         Interface.Show();

         return true;

   }  else {

        return   false;

       }

}
公司按照日本客户要求的:

出来混,谁不都要拼命的嘛。 。拼不赢?那就看谁倒霉了。 。有机会也要看谁下手快,快的就能赢,慢。 。狗屎你都抢不到。 。还说什么拼命?
2015-06-18 15:32
wangnannan
Rank: 18Rank: 18Rank: 18Rank: 18Rank: 18
等 级:贵宾
威 望:87
帖 子:2545
专家分:9359
注 册:2007-11-3
得分:0 
最显著的区别是代码长度  我的是41行 公司的是20行 主要发生在
一:  我的缩行形式是微软形式的, 公司沿用的是PASCAL形式的, 我觉得PASCAL形式早在80年代就应该被淘汰.不知道为什么先进的Eclipse IDE也使用这样的.

二: 我使用了两个try,catch, 公司只用一个, 我的理由是两个异常的发生的原因是不一样的.方便调试.
 
三: 我使用了一个bValRet变量, 而公司使用了两个return语句, 我的理由依据理论上的是算法最好使用单出口, 所以不使用两个return
 
四: 我使用定义和赋值分开写法.公司却写在一起,这是我的习惯, 没什么理由
 
五:方法的参数个数多, 或者字符串长度长的时候, 我会分行。公司迫不得已的情况下不分行.
 
上面五个方面会显著影响代码长度 在学校读书的时候 我就这样做只考虑代码清晰 不考虑代码行数问题
 
另外: 我使用的变量名前缀是小写的类型名 后面的单词用大写字母区分 类名会完整地写上命名空间,类内引用自身属性一般加上this.
 
总的来说 更喜欢自己的写法,
有一次和项目经理聊天 终于知道了真相 其实并不是我的风格不好 是因为日本客户为
了防止程序开发商的代码写地过长所规定的 上面这段程序, 按每行2圆的价格交易的
话  我的程序日本客户要付82元 而公司交易的 日方只要出40元  原来我们劳动力本来就
如此低廉 他们还要在里面绞尽脑汁地缩水  一个这么有钱的国家也这么吝啬, 可见我们被
日本人鱼肉的现状   

[ 本帖最后由 wangnannan 于 2015-6-18 15:38 编辑 ]

出来混,谁不都要拼命的嘛。 。拼不赢?那就看谁倒霉了。 。有机会也要看谁下手快,快的就能赢,慢。 。狗屎你都抢不到。 。还说什么拼命?
2015-06-18 15:35
wangnannan
Rank: 18Rank: 18Rank: 18Rank: 18Rank: 18
等 级:贵宾
威 望:87
帖 子:2545
专家分:9359
注 册:2007-11-3
得分:0 
那么,为什么会发生这样的变化呢?
1)经济不景气。
不但日本不景气,而且全球不景气。然而日本却是不能随便裁员的,那么怎么办?那些日本大公司们要如何维持生计呢?理念就是——把钱留在公司里面。
具体做法就是——公司内部的项目争取内部消化;外部的项目能自己做的自己做;不能自己做的就发给在中国的外包据点去做。如此一来,在日本的中小型IT公司从大型IT企业那里拿项目就变得很难了。自然,原有的多层外包模式就如恐龙一般成为了过去式。
(2)中国软件外包崛起。
经过十年的磨砺,中国软件外包业从无到有、从小到大、从弱到强,从原来散兵游勇到如今集团作战,已经不再是吴下阿蒙了。而且,相当多的软件企业已经得到了日本客户的充分信赖。对于这些日本客户来说,把软件拿到中国做,已经不再单单是为了省钱,这样做已经是维持自身竞争力的必然选择。

出来混,谁不都要拼命的嘛。 。拼不赢?那就看谁倒霉了。 。有机会也要看谁下手快,快的就能赢,慢。 。狗屎你都抢不到。 。还说什么拼命?
2015-06-18 15:40
wmf2014
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
等 级:贵宾
威 望:216
帖 子:2039
专家分:11273
注 册:2014-12-6
得分:0 
这样啊!赞同你的代码风格。
如果以行数算钱的话,会不会影响代码效率,降低代码质量,因为程序员会偏向性地让代码复杂化,毕竟复杂地完成简单功能对程序员来说不是难事。

能编个毛线衣吗?
2015-06-18 16:16
冰镇柠檬汁儿
Rank: 16Rank: 16Rank: 16Rank: 16
来 自:北京
等 级:版主
威 望:120
帖 子:8074
专家分:6657
注 册:2005-11-7
得分:0 
楼主,你这也不是Javascript代码啊
风格这种事情,本来是无所谓的,只要清晰就可以,我也喜欢微软风格的,非常清晰

本来无一物,何处惹尘埃
It is empty at all here, Why pm 2.5 is so TMD high!
2015-06-18 16:29
wp231957
Rank: 16Rank: 16Rank: 16Rank: 16
来 自:神界
等 级:版主
威 望:422
帖 子:13681
专家分:53296
注 册:2012-10-18
得分:0 

DO IT YOURSELF !
2015-06-18 16:49
hu9jj
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:红土地
等 级:贵宾
威 望:396
帖 子:11713
专家分:43267
注 册:2006-5-13
得分:0 
学习

活到老,学到老! http://www. E-mail:hu-jj@
2015-06-18 19:21
不懂才问
Rank: 15Rank: 15Rank: 15Rank: 15Rank: 15
来 自:大草原
等 级:贵宾
威 望:29
帖 子:1501
专家分:6573
注 册:2010-7-5
得分:0 
路过  看看

报告老师,我低头不是因为我在装低调,是你问的问题,我真的不会答,,,
2015-06-18 20:43
wangnannan
Rank: 18Rank: 18Rank: 18Rank: 18Rank: 18
等 级:贵宾
威 望:87
帖 子:2545
专家分:9359
注 册:2007-11-3
得分:0 
我自己说岔纰了 本来是想介绍日本人的代码风格的

出来混,谁不都要拼命的嘛。 。拼不赢?那就看谁倒霉了。 。有机会也要看谁下手快,快的就能赢,慢。 。狗屎你都抢不到。 。还说什么拼命?
2015-06-19 08:39



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-446757-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.015552 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved