导航:首页 > 程序命令 > 程序员喜欢什么符号

程序员喜欢什么符号

发布时间:2022-08-30 02:50:16

‘壹’ 为什么中国的程序员会把 1024 作为程序员节日

1024程序员节是中国程序员的共同节日。1024是2的十次方,二进制计数的基本计量单位之一。程序员(英文Programmer)是从事程序开发、维护的专业人员。程序员就像是一个个1024,以最低调、踏实、核心的功能模块搭建起这个科技世界。1G=1024M,而1G与1级谐音,也有一级棒的意思。
1024程序员节,是中国程序员的共同节日。在1842年,人称“数字女王”的阿达·洛芙莱斯(Ada Lovelace)编写了历史上首款电脑程序。
在1834年,阿达的朋友——英国数学家、发明家兼机械工程师查尔斯·巴贝其(Charles Babbage)——发明了一台分析机;阿达则致力于为该分析机编写算法,并于1843 年公布了世界上第一套算法。巴贝其分析机后来被认为是最早期的计算机雏形,而阿达的算法则被认为是最早的计算机程序和软件。
现今,一般将程序员分为程序设计人员和程序编码人员,但两者的界限并不非常清楚,特别是在中国。软件从业人员分为初级程序员、高级程序员、系统分析员,系统架构师,测试工程师五大类。

‘贰’ 为何程序员喜欢把回车键敲那么响

很多人打字,空格是左手中指无名指拍一下,回车是右手中指无名指抬起来砸下去的,当然就响了,至于为什么砸回车,一段代码敲完或者一行命令打完就意味着可以休息一下了,手就会抬得高一点。关于“回车键”的来历,还得从机械英文打字机说起。在机械英文打字机上,有一个部件叫“字车”,每打一个字符(原为单词,但是个人觉得这里应该是字符),“字车”就前进一格。当打满一行字符后,打字者就得推动“字车”到起始位置,这时打字机会有两个动作响应:一是“字车”被归位,二是滚筒上卷一行,以便开始输入下一行,这个推动“字车”的动作叫“回车”。后来,在电动英文打字机上,人们增加了一个直接起“回车”作用的键。这个新增的键就被称为“回车键”。

‘叁’ 为什么程序员都喜欢用等宽字体

Consolas字体 明显特征“0内有一撇,3的上部是平的一横这是程序员常用的英文等宽字体!如果这个字体还是不是你想要的字体,那么你可以从这个方向出发,查找等宽字体,我想一定会找到答案的! 但是这些字体一般WIN上没有(试过一遍了都没找到),需要另外下载安装!以下内容可以选读: 等宽字体的标准(我想第六条就是你想要的吧): 1.所有字符等宽; 2.简洁、清晰、规范的字符形体; 3.支持ASCII码为128以上的扩展字符集; 4.空白字符(ASCII:0x20)与其他字符等宽; 5.'1'、'l'和'i'等三个字符易于区分; 6.'0'、'o'和'O'等三个字符易于区分; 7.双引号、单引号的前后部分易于区分,最好是镜像对称的; 8.清晰的标点符号外形,尤其是大括符、圆括符和方括符。

‘肆’ 为什么前端日志喜欢用中文标点符号这是什么毛病

除了程序员中文输入下不会用英文符号的,大部分前端都是半路出家,所以很正常。

‘伍’ 程序员的符号是什么意思

1、程序员的符号有很多种,你具体是在指什么符号。
2、比如运算符号,加减乘除等等,与数学运算符号的意义基本相同。
3、还有特殊符号,比如#号,@号等等,会有一些特殊的含义,在不同语言中指代意义不尽相同。
4、还有分隔符号,这个一般是程序中自定义的。
5、希望对你有帮助。

‘陆’ c语言编程用的符号有哪些

如果真正掌握了C 语言,你就能很轻易的回答上来。这个问题就请读者试着回答一下吧。本章不会像关键字一样一个一个深入讨论,只是将容易出错的地方讨论一下。

表(2.1)标准C 语言的基本符号

C 语言的基本符号就有20 多个,每个符号可能同时具有多重含义,而且这些符号之间相互组合又使得C 语言中的符号变得更加复杂起来。

你也许听说过“国际C 语言乱码大赛(IOCCC)”,能获奖的人毫无疑问是世界顶级C程序员。这是他们利用C 语言的特点极限挖掘的结果。下面这个例子就是网上广为流传的一个经典作品:

#i nclude <stdio.h>
main(t,_,a)char *a;{return!0<t?t<3?main(-79,-13,a+main(-87,1-_,
main(-86,0,a+1)+a)):1,t<_?main(t+1,_,a):3,main(-94,-27+t,a)&&t==2?_<13?main(2,_+1,"%s %d %d "):9:16:t<0?t<-72?main(_,t,"@n'+,#'/*{}w+/w#cdnr/+,{}r/*de}+,/*{*+,/w{%+,/w#q#n+,/#{l+,/n{n+,/+#n+,/#;#q#n+,/+k#;*+,/'r :'d*'3,}{w+K w'K:'+}e#';dq#'l q#'+d'K#!/+k#;q#'r}eKK#}w'r}eKK{nl]'/#;#q#n'){)#}w'){){nl]'/+#n';d}rw' i;# ){nl]!/n{n#'; r{#w'r nc{nl]'/#{l,+'K {rw' iK{;[{nl]'/w#q#n'wk nw'
iwk{KK{nl]!/w{%'l##w#' i; :{nl]'/*{q#'ld;r'}{nlwb!/*de}'c ;;{nl'-{}rw]'/+,}##'*}#nc,',#nw]'/+kd'+e}+;#'rdq#w! nr'/ ') }+}{rl#'{n' ')# }'+}##(!!/"):t<-50?_==*a?putchar(31[a]):main(-65,_,a+1):main((*a=='/')+t,_,a+1):0<t?main(2,2,"%s"):*a=='/'||main(0,main(-61,*a,"!ek;dc i@bK'(q)-[w]*%n+r3#l,{}: uwloca-O;m.vpbks,fxntdCeghiry"),a+1);}

还没发狂?看来你抵抗力够强的。这是IOCCC 1988 年获奖作品,作者是Ian Phillipps。

毫无疑问,Ian Phillipps 是世界上最顶级的C 语言程序员之一。你可以数数这里面用了多少个符号。当然这里我并不会讨论这段代码,也并不是鼓励你也去写这样的代码(关于这段代码的分析,你可以上网查询)。

‘柒’ 对于程序员,编程经常遇到的那些符号,比如{}[]:;"'<>,.等,都必须用小拇指打出来吗

我以前都没注音过哦,看个人习惯吧。{}我是用无名指和小指,()我是用中指和无名指,左手小指shift,<>是用右手中指无名指,右手小指shift

‘捌’ 为什么很多程序员不用switch,而是大量的if……else if

我个人觉得switch其实非常多余。

1 大部分场景,都是2到3个可能分支,用个if else就可以了,除非有4 个以上分支,太多else显得不好看,才考虑用switch.

2 switch限制多。switch必须是常量变量。if后面可以写任意表达式。

3用法复杂,case后面要么break,要么return,要是不写,居然还会继续执行剩下的分支,对于新手来说分分钟掉坑。

4 写法上其实也不比if else优雅简洁,switch xxx case xxxx ….

所以,switch徒增复杂性,真的不怎么实用。

如果有10000种switch的可能性,有1000000个值需要被处理,怕是你们说的这些个switch的好处就完全消失了,预期平均每次要比较5000次,1000000个值,总计要比较50亿次,不知道你们的CPU是啥主频能扛得住这个计算量,针对这种情况的终极武器还是hash,根据不同的语言,hash的value可以是匿名函数,可以是接口的不同实现,用hash来快速确定处理算法,而不是switch

答案:主要因为switch不适合业务系统的实际复杂需求,业务不断的变更迭代,一更改需求,条件的复杂度高了,switch无力处理。

switch优点

那么什么时候适合switch,它的场景是:基于单一变量的值(如枚举),这样的可读性比if条件更清晰。

switch缺点

从上面的场景来看,实在太局限,我来简单说一下它的一些缺点吧:

1. 现实的业务场景很复杂,条件不单一,一旦需求变更,维护代码相当崩溃。

2. switch经常忘记写break,估计很多人一不小心就忘记写了。如果你看过google的代码规范,你会发现,Google对switch的要求非常多。

switch的封装才更灵活


其实switch有人还在用也有一部分是 历史 原因,但是随着 科技 的发展,原有的设计以及落后了。

有些编程语言,如Python都没有switch这种语法。当然也有部分新语言Golang和Kotlin还是继承下来,但是又把switch包装了一下,去掉了令人误会的语法,这才让switch变得灵活起来了。 如果不封装,很难用。

IF语句的好处

通过上面描述的缺点也就是if语句更灵活的地方,根据业务进行逻辑条件编写,可维护性高。同时只要写的代码质量高,可读性也就会更高。

建议

现实的业务实际是很复杂的,我也不建议一定要用大量的if……else if,而是应该尽早返回来减少嵌套,这样增加了可读性以及降低维护的成本。

从C/ C++来看,当分支较多且switch要比较的值是连续的话,执行速度远远远远快于if,因为switch是直接跳到目标代码执行的,而if则需要执行很多条语句,慢的不是一点点,一般编译器会根据分支数量和比较的值是否连续生成不同汇编代码,如果编译器判定不能提升速度的话,switch生成的汇编代码和if是一模一样的没有任何区别。

至于很多人不用switch我觉得可能是:

1.为了方便写代码,思维习惯随手就用if写了;

2.可能根本就不懂为什么要用switch吧。

作为程序员来说,我更喜欢switch的结构,更直观更容易找到相应的代码块。不过为什么很多程序员不用Switch,而是使用大量的if...else if的结构,甚至像Python已经不支持原生Switch语法了?

这个原因很简单,因为switch语法结构最后编译还是通过if...else if来完成代码的,所以从效率角度来说和if...else if一样的。但是switch对比条件比较单一,绝大多数支持switch的编程语言都支持等于比较,也就是说变量只能等于case中的条件才会执行代码块。但是现实情况中,对比条件绝大多数比单一等于运算要复杂得多,因此很多程序员就直接使用if...else if。但是if...else if的结构,后期维护起来会比较不清晰,毕竟没有Case...Break那么直观。但是添加一些注解应该还是能解决这个问题的。

所以,我现在能使用Switch的时候还是会使用switch,毕竟后期代码维护起来方便点。不过更多时候还是用if...else if。

送大家以下java学习资料







我曾经接手过一份代码,遇到过一个三十几个if else套if else的模块。

心理骂骂咧咧谁他喵写的这玩意,然后开始review 历史 。

大致情况是这样的:第一个程序员写下这段代码时,只有两个if else;后来开始逐渐加需求,先是一个、两个,随后量变引起质变,于是逻辑分支快速扩张。

这个时候已经没有人愿意去重构成switch或是其他什么设计模式了,毕竟复杂度摆在那里,万一崩了还得背锅。

三四个程序员接手这段代码之后,就变成我现在这种局面了。

第一个程序员绝对没有料到这么简单的逻辑在之后会变成这么复杂的模块,甚至在增添第一第二条else时,也只是很随意的加上。

所以我觉得,这个锅绝对是是甲方的,让他娘的随便改需求。

这么一想心里就好受多了,编程嘛,最重要的是要看的开。

于是我又增加了两条else,测试,提交,下班。

有时候真的不是我们不想写好代码,是不能写好代码。写着写着需求砍了、需求变了,什么设计模式都不顶用,最终还是怎样快怎样方便怎样来,因为根本没人知道这段代码还能不能活的过下一段需求变动。

有的人肯定要说怎么不订合同。合同肯定是有的,但是明明白纸黑字写的合同,该改还是得改,毕竟你要是不同意甲方那些“微小的变动”,以后还做不做了?!金主真能去得罪?

还是要学会得过且过,跟什么过不去也不能跟自己过不去,糟糕的代码忍一忍就完了:代码能跑、头发不少,对我们这些打工的人而言比什么都重要。

现实工作绝不是课本中的理想状态,会有无数的突发情况在等着你。你定义了半天观察者、备忘录,第二天这部分需求被砍了;写了半天接口,抽象类,忽然下午告诉你要加个十万八千里打不着边的啥东西,于是又开始加适配器,等你加完了告诉你又砍了。甚至有次半夜被喊起来改代码,等改完了发现需求被撤回了,气的我直接请了两天假调整心情。

设计模式和大的框架绝对是一个项目中非常重要的东西,但不是绝对重要的;一个好的PM团队,在某种意义上,才真正决定了这个项目的代码质量。[1]



请用5秒钟的时间查看下面的代码是否存在bug。

OK,熟练的程序猿应该已经发现Bug所在了,在第8行和第10行下面我没有添加关键字break; 这就导致这段代码的行为逻辑与我的设计初衷不符了。


缺点一. 语法正确,逻辑错误


这就是第一个理由为什么程序猿很少使用switch来做条件判断,对于新手来说忘记写break实在是再普通不过了,就算是老猿忘记写也是时有发生的事情,而这个语法错误在诸多的语法检查器上没有办法检查出来的,因为从语法角度来说是正确的!可是代码的处理逻辑却是错误的!用if来重写这段代码的话,就不会发生这种错误。

上面的代码为了保证正确我添加了else做一个逻辑上的保证,其实如果不写else,这段代码也不会发生逻辑错误,而且一旦我忘记写花括号的时候,语法编译器是会提示我添加的,甚至可以使用eslint这种的工具强制我使用花括号,这样就不会犯语法错误了,一旦出现bug,那么肯定是我逻辑上的问题了。


缺点二 .死板的语法


switch尽管对于break很宽容,但是对判断条件很严苛,case后面只能跟常量,如果你用C编写的话,甚至只能用int类型作为判断条件。对于我们这么潇洒自如的程序猿来说,这种限制实在是太麻烦了,用if的话,别说是常量了,我用函数都可以,真正做到方便快捷。


缺点三 .需要子函数来处理分支


这个缺点跟缺点一有关,为了防止漏写break,因此建议把分支处理方法独立成一个子函数来处理,这样在阅读代码的时候就会减少忘记写break带来的bug,那么用if来写的话,我想怎么写就怎么写,非常随意自由,但是这也导致了代码的可读性大大降低。


switch的优点


既然switch有这么严重的缺点,那怎么在所有语言中依然会存在呢?那就说下switch的优点吧,它的优点也刚好是它的缺点。


在很久很久以前,那时候的电脑性能还不如一台小霸学习机的时候,聪明的计算机科学家为了提高计算机的处理速度,将一些逻辑分支处理方法简化了一下,把一些需要做逻辑判断的操作给固定死,然后只要查表一样一个一个对一下就能做出相应的反应了。


比如说a=0的判断,switch和if在cpu上面的处理方式是不一样的,switch是在编译阶段将子函数的地址和判断条件绑定了,只要直接将a的直接映射到子函数地址去执行就可以了,但是if处理起来就不一样了。


它首先要把a的值放到CPU的寄存器中,然后要把比较的值放到CPU的另一个寄存器中,然后做减法,然后根据计算结果跳转到子函数去执行,这样一来就要多出3步的操作了,如果逻辑判断多的话,那么将会比switch多处许多倍的操作,尽管寄存器操作的速度很快,但是对于当时的学习机来说,这点速度根本不够用啊。


那还有一个问题,为什么要使用break来做一个判断结束呢?这不是很容易造成语法错误了?那就要说到子函数的问题上了。


在早起的电脑代码中是没有子函数的概念的,那时候都是用goto随意跳转的,你想去第10行代码,很简单goto 10就可以了。这种编程思维在C的早期阶段还是一直受到影响的,因此早期的C也没有子函数,都是一堆逻辑处理混乱在一起,goto满天飞,所以那时候你没有一个最强大脑是写不了程序的。那为了告诉程序我这里条件判断处理结束,就添加了break作为终止符号。后来慢慢的有了子程序,有了更好的编程规范,才一步一步的将写代码沦落到体力劳动。


后来发展的新语言为了标榜自己的血统,多少都要参考下C,然后就把switch这种诡异的语法也继承下来了。但是也不是所有的语言都照搬,比如Google发明的新语言golang和kotlin就又把switch包装了一下,去掉了令人误会的语法,又让switch变得灵活起来了,对了,在代码重构的时候,还是用switch把,这样看起来的确代码更简洁哦![2]


switch只能用于简单判断,不支持表达式。

没有if else 使用方便。

不是尽量别用,而是不合适没法用,合适得时候该用还是用。

比如说,变量i要求大于10,小于20,一条if(i>10&&i

‘玖’ 程序员最喜欢的英文字母是哪一个

f吧
开心的时候就是和各种function跳舞。
逻辑走不出来的时候就喜欢print(“f**k up”);
p也是喜欢的人也不少。

‘拾’ >>>符号是什么意思

<<是左移符号,列x<<1,就是x的内容左移一位(x的内容并不改变)
>>是带符号位的右移符号,x>>1就是x的内容右移一位,如果开头是1则补1,是0责补0,(x的内容并不改变).
>>>是不带符号位的右移,x>>>1就是x的内容右移一位,开头补0(x的内容并不改变)
位移运算符只能用于byte,short,char,int,long类型. 对于低于int类型的操作数先自动转换为int再位移,而且位移量不能大于31,对于位移量系统先做对32的模,得到的结果才是真正的位移量,因为int类型为4个字节,即32位,移动32位将没有任何意义.对于long则是模64.

映射到二进制的算法,java中比较搞笑的运算。举例:

32除以2,算法可以 a = 32; a = a / 2; 这样写的话编译器会首先创建内存空间a,然后开辟空间 32, 然后开辟空间2,然后运算。。。过程比较复杂

但是如果用移位运算的话,二进制的32是100000,用移位运算,右移移位并左补零,就变成了010000,这样就是16了,省去了开辟内存的麻烦。。。

这种运算C程序员普遍使用。有C基础的人写Java程序就会很喜欢用这些运算符。

有什么不清楚的可以继续补充,呵呵。

阅读全文

与程序员喜欢什么符号相关的资料

热点内容
安卓是世界上多少个程序员开发 浏览:43
解压器官方免费 浏览:85
单片机p10开发 浏览:486
做什么app赚钱 浏览:83
博途编译失败联系客户支持部门 浏览:926
金蝶旗舰版编译 浏览:51
万象服务器断电后启动不了怎么办 浏览:356
我的世界苹果版的2b2t服务器地址咋查 浏览:95
xlsx转换pdf 浏览:98
3dmax挤出命令英语 浏览:903
靶心率的定义和算法 浏览:514
3d模术师app哪里下载 浏览:474
php中文api文档 浏览:458
安卓设计怎么加入输入框 浏览:185
主根服务器什么时候开始 浏览:738
奇门遁甲完整版pdf 浏览:904
app软件怎么用的 浏览:802
电子书pdf购买 浏览:194
浪潮服务器如何做系统 浏览:113
冒险岛img格式加密 浏览:598