【编程】语法糖、语法盐、语法糖精、语法海(hexie)洛(hexie)因(hexie)

语法糖

--什么是?

  语法糖,也译为糖衣语法,是由英国计算机科学家彼得·兰丁发明的一个术语,指计算机语言中添加的某种语法,这种语法对语言的功能没有影响,但是更方便程序员使用。语法糖让程序更加简洁,有更高的可读性。“语法糖”这个词绝非贬义词,它可以给我带来方便,是一种便捷的写法,编译器会帮我们做转换,可以提高开发编码的效率。

  解释:就像是乘法是加法的高级写法,进行的运算结果是一样的,可是写法不同

 

加法

乘法

写法

3+3+3+3

3*4

结果

12

12

区别

写的是基本结构

用了语法糖

--怎么用?

  1.举例来说,许多程序语言提供专门的语法来对数组中的元素进行引用和更新。

从理论上来讲,一个数组元素的引用涉及到两个参数:数组和下标向量,比如这样的表达式,get_array(Array,vector(i, j))。

  然而,许多语言支持这样直接引用 Array[i, j]。

  同理,数组元素的更新涉及到三个参数,set_array(Array, vector(i, j),value),但是很多语言提供这样直接赋值,Array[i, j] = value。

  2.C#也有语法糖,比如自动生成属性:

  输入prop,然后连按两下tab键,然后根据自己情况修改类型和属性名就可以了。

--怎么可以知道有语法糖?

  我的观点就是可遇也可求,想知道有什么语法糖,Google一下或者百度一下,就能知道了

--语法糖评价 

好处:

  语法糖很多时候能让代码看起来,写起来更加舒服

  语法糖不是什么坏事,第一个就是吃不吃随你,第二个就是最好要知道这些糖在底层都做了些什么

不足:

  我理解的语法糖有的时候是降低了程序的可读性来换取效率,不管是写程序的效率还是程序运行的效率

语法盐

--什么是?

  是指在计算机语言中为了降低程序员撰写出不良代码的一种设计,但其中仍会有潜藏错误存在的可能。这些特性强迫程序员做出一些基本不用于描述程序行为,而是用来证明他们知道自己在做什么的额外举动。

  解释:像做完事情签协议,光把事情做了不行,需要书面证明确认一下我知道我做了。

--怎么用?

  1.Java中并不允许将一个宣告为float类型的变量赋值给一个宣告为int类型的变量,但是CC++会自动把float类型的变量舍去小数并赋值给int类型的变量。

intnum1;
floatpi=3.14159;
num1=pi;  //赋值错误
  2.C#switch语法中的case标记代码块内,如果没有gotoreturnthrow跳离语法,一定得加上break语法

switch (caseSwitch)
{
    case 1:
        Console.WriteLine("Case1...");
        //在此撰写break或其他跳离語法,否则将产生编译错误
    case 2:
        Console.WriteLine("... and/or Case2");
        break;
}

--怎么可以知道有语法盐?

  当你编程时,必须加上无关程序的代码,才不会报错时--bingo

--语法盐评价 

好处:

  可防止一些编程失误 

不足:

  使代码的可读性降低,占用空间

语法糖精

--什么是?

  语法糖精也叫语法糖浆,指的是未能让编程更加方便的附加语法,一说是设计失败的语法糖。 

--怎么用?

  咳咳,别用,没必要用

--怎么可以知道有语法糖精?

  当你编程时,这个语法又麻烦又没用,那你要查查是不是有问题

--语法糖精评价 

好处:

  无 

不足:

  根本没有存在的价值

语法海(hexie)洛(hexie)因(hexie)

--什么是?

  是指过于喜欢操作符重载,表面上程序紧凑了,操作符重载就是把已经定义的、有一定功能的操作符进行重新定义,来完成更为细致具体的运算等功能。操作符重载可以将概括性的抽象操作符具体化,便于外部调用而无需知晓内部具体运算过程。但最后程序的可读性可想而知了。 

--怎么用?

  别用

--怎么可以知道有语法海(hexie)洛(hexie)因(hexie)?

  过于喜欢操作符重载

--语法海(hexie)洛(hexie)因(hexie)评价 

好处:

  无 

不足:

  Begone


ps:我就写个语法hailuoyin,就来封我的博客吗?瑟瑟发抖~

你可能感兴趣的:(=====周边=====)