能让一个人沉默的语句
9652023-09-05
各位老铁们好,相信很多人对为什么许多程序员从来都不用break或者continue语句都不是特别的了解,因此呢,今天就来为大家分享下关于为什么许多程序员从来都不用break或者continue语句以及为什么不建议使用递归的问题知识,还望可以帮助大家,解决大家的一些困惑,下面一起来看看吧!
本文目录
最近很多爸爸妈妈问为什么要学编程,又不想让孩子以后做程序员,大家要认清现实,未来不是我们经历过的,我们的孩子要比我们艰难的多,岁月静好只能是奢望,更多的是负重前行。
少儿编程就是适合孩子学习的编程教育。没有想象中的那么难,并不是教孩子像大人一样敲代码,而是通过编程游戏的启蒙和可视化图形编程等课程,培养孩子计算思维和创新思维,更能激发孩子对互联网程序的热爱。
通过了解编程思维,让孩子懂得把大的问题拆分,化繁为简的去解决。
对于6-12岁的孩子而言,编程是什么?
是梦想?是数字?是尚未触达到的梦想?
但未来的选择,多是爸爸妈妈决定的,他们有的想象吗?似乎没有吧那对于孩子们而言,编程可以是什么?
小小的代码在屏幕上跳跃,大大的眼睛看着世界,你会发现:编程可以是音符,编程可以是喜悦,可以是穿梭在楼宇之间的蜘蛛侠,可以是火眼金睛伏妖降魔的孙悟空,是每天叫醒每一个小懒虫的烦人闹钟,是常常梦见的那只,晃晃悠悠盘旋在屋顶的胖飞碟。
你去问问孩子们:还能是什么?不管怎么回答,我们都知道:应该,是彩色的!
我们并不要求孩子去改变世界,也不是希望他一定就要成为工程师、科学家。至少,在这个领域他不能一无所知。我们并不希望,孩子长大之后,跟不上他们那个时代的变化。而我们更希望,孩子可以与时代同步,从容生活乃至引领时代。
写程序应该尽量的避免使用break和continue
for、while循环语句里出现return是没有问题的,但如果你的循环里出现了break和continue,往往是因为对循环的逻辑没有考虑情况,考虑周全了基本不需要break和continue。因为用了break和continue之后会让循环的逻辑和终止的条件变得复杂,难以确保正确的结果。
情景一:下面一段代码表示name里含有“bad”这个词,就跳过后面的循环代码。
这是一种“负面”的描述,它不是告诉你什么时候“做”一件事,而是告诉你什么时候“不做”一件事。想要弄清楚它到底要干什么,就必须搞清楚continue会导致哪些语句被跳过了,然后脑袋得有个逆向逻辑,才能知道它到底想做什么。
这就是为什么含有break和continue的循环很难理解,它们靠“控制流”来描述“不做什么”,而“跳过做什么”,到最后你也没有搞清楚它到底“要做什么”。
其实上面的代码其实完全可以摒弃continue:
这种代码是一种更加“正面”地描述,表示name不含“bad”的时候,就将它加到goodNames的链表里。当你再次读到这段代码时,就能清晰地呈现出它的条理和结构。
情景二:for和while循环头部有唯一终止循环的条件,但在循环体中加入break,实际增加了一个退出条件。
当condition2成立的时候,break就会退出循环。但往往只需要把这个条件合并到循环头部,就可以去掉break,而不需要再进行逆向思维。
情景三:很多break退出循环后,接下来就是一个return
下面函数检查names链表里是否存在一个名字,包含“bad”,包含就通过break跳出,并通过return返回结果。
这种break往往可以直接换成returntrue,而不是对result变量进行赋值,需要通过break出去后,最后才通过return返回。如果循环结束了还没有return,就返回false。改完后同时消除了break语句和result这个变量。
很多的例子通过消除continue和break,无一例外使得代码变得条理清晰容易理解,也更容易确保正确结果。如果代码中出现了continue可以将continue的条件方向,如果代码中出现了break可以将break的条件合并到循环头部的终止条件里去掉break,而剩下的1%特别复杂的逻辑可以把循环里复杂的部分提取出来做成函数调用,这样就彻底地消除了continue和break。
编程不当当是一门技术,而且是一门艺术。编程是一种创造性的工作,并不是说你写了多少多少万行代码了你就很牛逼。如果总是匆匆忙忙写出了代码,却不会回过头的推敲、修改和提炼,是很难精通这门艺术的。一个好的程序员删掉的代码比留下来的代码要多得多,如果你看见他写了很多代码,却没有删掉多少,那他的代码中一定有很多的垃圾。
好的代码不可能一蹴而就,代码灵感总是零零星星的陆续到来,所以再厉害的程序员都是通过很长一段时间的沉淀才能写出简单而优雅的代码。如果此时你反复提炼代码已经不再有进展不烦暂时放下过几个星期或者几个月再回过头来看,又会获得焕然一新的灵感。
以上个人浅见,欢迎批评指正。
认同我的看法,请点个赞再走,感谢!
喜欢我的,请关注我,再次感谢!
处理特定问题的方式是Julia和Python之间的一个关键区别,而Julia的构建是为了减轻高性能计算的挑战。虽然Python已经发展为一种快速的计算语言,但是它不是为这项工作而设计的。而Julia相对于Python则更具专业性,在高速处理和计算工作中。
不久前,Julia发布了一个稳定的1.2版本,有了进一步的改进,可以更加高速地处理占用大量资源的数据科学项目等。
大部分人根本读不懂,完整研究几遍的没多少人,真正能沉下心来研究技术的,都有点定力,哪会一跌就天天出来叽歪
文章分享结束,为什么许多程序员从来都不用break或者continue语句和为什么不建议使用递归的答案你都知道了吗?欢迎再次光临本站哦!