当前位置:  开发笔记 > 编程语言 > 正文

为什么VB.net如此冗长?是否有可能削减脂肪?

如何解决《为什么VB.net如此冗长?是否有可能削减脂肪?》经验,为你挑选了7个好方法。

语言在成熟时会变得更加冗长吗?感觉每个新版本的VB.net都获得了更多的语法.是否有可能像关键词"昏暗"一样削减一些脂肪?从版本1开始,C#也感觉它的语法越来越多.



1> Neil Hewitt..:

这就是VB的习语.所有语言都有成语,有很多可用于详细和拼写.谢谢你的幸运星,你不是WRITING IN COBOL.

C#演变出的类似C语言,并且在C传统简洁和简洁的价值,因此,拉条,&&并且||,intinteger区分大小写小写码.在VB习惯用法中,长不言自明的关键词是好的,简洁的关键词或神秘的符号是坏的,因此MustInherit,Dim blah as Integer并且不区分大小写,但倾向于大写你的关键词.基本上,坚持使用你正在使用的语言的成语.如果你使用(或必须使用)VB,那么习惯于冗长 - 这是故意的.



2> Jon Skeet..:

C#肯定获得了更多的语法,但其方式使其不那么冗长.

实际上,C#3.0中的每个功能都允许您使用更少的代码执行更多操作.


必须同意.对于一个不那么罗嗦的VB.NET,使用C#.

3> gbjbaanb..:

冗长并没有什么不妥,事实上它往往是一件非常好的事情.

我假设你有有意义的变量名?描述性的方法名称?那么为什么键入'end if'而不是'}'会出现问题.它真的不是一个问题,如果有的话,C#的简洁性更多的是试图尽可能多地融入尽可能少的角色 - 这意味着它更难阅读,而不是更容易.



4> EdgarVerona..:

好吧......承认这让人感到尴尬,但我喜欢在VB.NET中使用Dim.是的,它没有服务于以后使用"As"无法推断的任何特定用途......但对我来说,有一些绝对"击败你的头脑"显然有关于声明语句从Dim开始.这意味着当有人在查看代码时,他们甚至不必考虑这些语句的含义,即使只是微秒.像C#这样的语言有足够明显的声明,但如果你只是浏览它,你可能需要考虑一下(即使是最短暂的时刻).

在某些类型的语句的开头有一个特殊的关键字,这是"特别明显的".在VB.NET中,赋值以"Dim"开头,并且调用方法(可以)以"Call"开头,给它们一种"左侧均匀性",即If,For和其他构造已经具有:你得到最基本的要点通过查看它的开头就看到了那条线.使用这些几乎可以给你相当于一个左栏,你可以非常快速地浏览,并获得在某种基本水平上发生的事情的要点("好的,我们在这里宣布......我们是在这里打电话给其他事情......").

对某些人来说,这似乎是不合理的甚至是愚蠢的...但它确实使每个陈述的目的明确,以至于浏览时感觉更快(至少对我而言)...尤其是在浏览其他人编写的不熟悉的代码时.

我想,最后,它归结为"不同人的不同笔画".我不介意为显而易见的目的输入额外的三个字符.



5> Mischa Kroon..:

VB.NET很棒,它带来了更清晰的代码.

例如,我喜欢你如何描述你的结局.

结束时vs}结束vs vs}结束if if}

因为智慧,打字时的冗长不是问题.



6> Bill K..:

详细程度和可读性通常是齐头并进的.最近我开始担心"优雅"这个词,因为它通常会转化为"有趣但不易立即阅读"

当然,编写代码的人总是说"对我而言,它更具可读性,因为它更短/更优雅.

这是废话.阅读更加明确的内容总是比较容易,除非你阅读时遇到这么多麻烦,要花两个小时才能完成迪克和简小说.

请注意,我不是在谈论裁员,只是明确表达你的欲望.

作为一名程序员,写出优雅的表达方式会更有趣,但我发现自己会在一段时间内看到别人的"优雅",甚至是我自己的"优雅",我会把它改成更明确,更易读的东西.当我意识到尽管编写它很有趣时,我只花了更多的时间来阅读/调试它,而不是首先编写它.

另一方面,DIM只是愚蠢的:)



7> Christopher ..:

我在这里稍微偏离了我的深度.

我喜欢每个人都称之为冗长的东西.难道没有人想知道我们在任何自然语言中都没有多个嵌套的括号(例如英语)吗?实际上,嵌套的括号确实需要缩进的约定才能使其变得清晰.在自然语言中,我们使用详细子句和多个句子来避免或至少解释分层括号.

同样在某种意义上我不会说vb的语法比c#多得多.在某个代码块中,它并没有比c#更多的词法标记(是吗?).它具有与c#大致相同的语法,它只有更长的语法标记,例如'End Sub'而不是'}'.对于大多数语法管道而言,VB版本只是更多的打字(如果你宣誓掉了知识分子),与'End Sub'相比,'}'也是模棱两可的,因为它也意味着'End If'和其他东西的全部负载.这并没有使它在某种意义上更简洁,代码中仍然存在相同数量的标记,而是来自更简洁的标记标记的较小子集.但是C#中的不同标记具有不同的含义,具体取决于上下文,这需要你在阅读代码时仍然在脑海中有这样的嵌套级别,以便获得,例如,如果你失去了位置,你正在阅读什么样的代码块,即使代码块的末尾可能在查看您可能需要查找以查看代码块的开头.即使不是这样的情况,&&真的比AndAlso好吗?

Dim我认为是无用的,与c#相比是一个额外的词法令牌,但我想至少它与linq一致,vb不需要var命令.我想不出任何其他候选人的印章.也许我没有想象力.

我相信有人会来,告诉我我有多错误:)我最好猜测这与个人喜好无关.

推荐阅读
Gbom2402851125
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有