C#你用过那种奇葩的C#注释吗

新浪一位微软MVP的稿子

http://www.cnblogs.com/asxinyu/p/4383402.html\#autoid-0-0-0 

摘录:

 

本人那里说的奇葩,并不是退出二种格局,而是其注释的职位,可是在浏览一段开源的代码的时候,发现了这一个注释,当时震惊,然后是思考,先看看:

 C# 1

  上边一段代码包涵了眼前提到的3种注释格局,灰色框里面的就是自身说的
奇葩注释,用的是 /*
*/块方式,写在数组定义的中间,毫无疑问,这必然是可以运作的。只是原先没悟出可以那样,可能局限于自己的合计方法。

基于自己的知晓,开发人员那样注释的目标,由于那段代码的变量包蕴的音信量很大,这样写越发直接明了。可是还是不是多余,也足以直接在变量上边举行认证?

转头想一想,在有的很复杂的难点中,变量的伊始化可能卓殊复杂,这里的数总经理度是2,即便是20,那怎么做?这样写优势就出去了,可以使得看代码的人,一目明白。

又在一个地点发现了一段类似注释的代码,是这么的:

C# 2

C#,重回目录

3.对协调好用,这就用起来

  刚开端有些承受不了,为了这一个工作,我回忆了协调许多写过的代码,还专程翻了翻,最后我以为将来在自己的代码中也得以逐步在适度的地方使用那种艺术,一方面是出于原先没悟出可以如此用,思维局限在哪个地方,习惯另起一行表明;另一方面的确是有好多代码须求这么明了的诠释,可能自己的代码和架构能力不够,在许多地点耦合很惨重,不得不经过众多的注释来突显和谐的想法,而变量有特意多,像那种伊始化的场地,的确是很很表明,看看自家修改后的一段代码例子:

3.1 从前注释形式

  往日的一段代码中,有一个原则性的星星点点列表,是公司编号,但实则用度的时候,平常要了然对应的称呼,当然数据库里面可以去寻觅,但代码里面向来看不到,所以我那样写的:

//权威公司编号名称(顺序):"澳门","金宝博","立博","威廉希尔","伟德","10BET","bet 365","SNAI"
static List<Int32> AuthCompanyIdList = new List<int>(){ 247, 250, 251, 252, 253, 1, 469, 179};

  所以从前每一趟打开的时候,有荒唐或者手动排查一些音信,对着编号去注释找,尽管次数很少,但有时候也要用到。所以见到上面的注释方式后,修改了刹那间。

3.2 现在的注释方式

  修改后的代码是那般的,不是越发去改,是那般改未来,我要好也以为好多了,看到那一个代码就清楚意思了。

   internal static List<Int32> AuthCompanyIdList = new List<int>(){
                                      247/*澳门*/, 250/*金宝博*/, 
                                      251/*立博*/, 252/*威廉希尔*/, 253/*伟德*/, 1/*10BET*/, 
                                      469/*bet 365*/, 179 /*SNAI*/                 
        };

  其实哪一类都可以,主要的是您看得懂,方便看,所以一旦你以为可行,可以用上,觉得纯属无聊,那就跳过吐槽一下。

回来目录

4.末段猜猜哪个人写的

  敲代码应该是件轻松的事体,要是能把代码写得可怜优雅,好懂,当然最好可是了。最终娱乐一下,猜猜那代码来自哪个地方?

  A:某商业机器学习算法软件的.NET例子;

  B:某国外开源机器学习算法的.NET落成博客例子;

  C:微软研商人士机器读书算法完毕的事例;

  D:Python开源社区一个机器学习算法py落成的.NET版本;

  怎样看待和那种注释,各抒其见把。。。。也可能是本身小题大作了把。。。精通,不断创新细节,不断进步把。。

   清晨发表答案。。。。

率先段代码来自微软印度孟买理工商讨院,是Infer.NET的一个Demo代码

第二段代码来自开源机器学习组件Accord.NET
Framework的实例代码

相关文章