当前位置: 首页 > news >正文

无锡网站制作联系方式公司的英文网站

无锡网站制作联系方式,公司的英文网站,开发公司前期部门自查自纠报告,微商的自己做网站叫什么名字新媒体管家下面这9个编码习惯#xff0c;虽然在编程规则中是被驳斥的#xff0c;但我们很多人就是会不由自主地使用它们。我们曾经都做过这样的事情#xff1a;当妈妈不注意的时候#xff0c;偷偷地吃糖果零食#xff0c;然后导致有了蛀牙。同样的#xff0c;我们都违背过… 新媒体管家下面这9个编码习惯虽然在编程规则中是被驳斥的但我们很多人就是会不由自主地使用它们。我们曾经都做过这样的事情当妈妈不注意的时候偷偷地吃糖果零食然后导致有了蛀牙。同样的我们都违背过一些编程的基本规则并且都会坚定地表示这种行为是不可取的。但我们就是偷偷爱着这些不良的编程习惯。我们对所谓的编程规则嗤之以鼻输出的代码也很糟糕——但我们依然活着。编程上帝没有下闪电劈死我们我们的电脑也没有爆炸。事实上只要我们能编译和发布代码客户似乎就很满意了。这是因为糟糕的编程不像安装电路或者摸老虎屁股那样有直接的危害性。大多数时间里它也是可以工作的。规则通常是作为一种指导或格式上的建议并没有硬性规定一定要遵守也不会导致代码马上死掉。当然你的代码可能会被人耻笑甚至可能大家公开嘲笑你不过这种挑战惯例的行为可以让人增加一点颠覆传统的快感哪怕是在不经意间。为了让问题变得更加复杂有时候违反规则反而更好。一般人我不告诉他出来的代码会更干净甚至可能会更快和更简单。规则通常显得太过于宽泛有技巧的程序员可以通过打破这些规则来提高代码。不要告诉你的老板这对你的编码生涯会很有意义。下面这9个编码习惯虽然在编程规则中是被驳斥的但我们很多人就是会不由自主地使用它们。编程习惯No. 1使用goto关于禁止使用goto可以追溯到许多结构化编程工具还未面世的时代。如果程序员想要创建一个循环或跳到另一段程序中那么他们需要输入goto后再跟一个行号。过了几年之后编译器团队让程序员使用字符串标签取代行号。这在当时被认为是一个热门的新功能。有的人认为这会导致“意大利面条式代码”。代码会变得不可读并且很难理解代码的执行路径。线程混乱缠缠绵绵到天涯。Edsger Dijkstra就三令五申地表示应该禁止这个命令他有一份诙谐的手稿题目为《Goto语句害人不浅》。但绝对的分支是没有问题的。这就让人纠结了。通常巧妙的 break 语句和return 语句可提供一个非常干净的关于代码在那个时候执行什么的声明。有时候添加 goto 到case语句会比更恰当的多级嵌套的if-then-else语句块更易于理解。也有反例。在苹果的SSL堆栈中的“goto fail”安全漏洞就是最好的例子之一。但是如果我们能够仔细避免case语句和循环的一些尴尬问题那么我们就可以嵌入良好的绝对转移使阅读代码的人更容易明白这是怎么回事。我们可以插入break和return 语句让每一个人感觉更清洁和更愉快——可能得除了goto的敌视者。编程习惯No. 2成功避开文档我的一个朋友有一个非常精明的老板这位老板虽然从来没有写过任何代码但却秉持着每一个功能都必须包含在文档中的理念。哪个程序员不提供注释那么他就会受到惩罚。所以我的朋友在他的编辑器中联入了一个有点像人工智能的玩意儿于是乎他的每一个功能就都有几行“文档”了。因为这位精明的老板还不够聪明到能理解这些注释其实啥意思也没有所以我的朋友逃过一劫。他的代码常常被作为正式文档。我想他应该快要升职了许多函数方法甚至一些类或多或少都能自文档化。冠以insertReservation或cancelReservation或 deleteAll 等名称的函数并不需要多此一举来解释它们的作用。为函数取一个正确的名字往往就足够了。事实上这比写一段长长的注释要好因为函数名可以出现在代码中的其他地方。而文档只能默默地呆在某个角落。自文档化的函数名可以改进它们出现的每个文件。在有些情况下写文档甚至会导致情况变糟。例如当代码瞬息万变团队像疯了似的重构的时候文档会产生分歧。代码是这样写的但文档解释的还是四五个版本以前的情况。这类“过时”的文档通常位于代码顶部有的人会在这里对代码应该发生什么作一个美好总结。因此尽管重构团队已经仔细修改了相关的注释但还是会遗漏文件顶部的这段“美好总结”。当代码和文本出现分歧的时候注释就变得毫无价值甚至会产生误导。在这样的情况下良好的自文档化的代码显然胜出了。编程习惯No. 3一行写太多代码老板突然发神经地给团队发了一封讨厌的邮件为了执行非常严格的风格规定我们大家都必须重写我们的代码。最神奇的要求是每个行为或步骤或子句必须各自成行。你不能使用点语法连续调用函数。在一个分支语句中你不能有两个及以上返回布尔值的子句。如果要定义变量那么另起一行。如果你正在做一个复杂的计算那么不要使用括号。每个片段也自成一行。他认为他的这个法令将能使调试变得更加容易。就像你单步调试代码一样调试器会一个动作一个动作地前进。这样就不会卡在某一行。而且更容易执行。但是这样一来键盘上的回车键烦不胜烦因为我需要不断地插入行。而且我敢肯定老板因此还可以到处吹嘘他的团队能写多少行代码。唉有时在同一行中声明一堆变量反而更容易有时把所有的布尔子句放在一起反而更简单——一切都能变得更加紧凑。那也意味着我们可以在屏幕上看到更多的逻辑而无需滚动鼠标。更易于阅读就意味着理解起来更快。这才是简单的精粹。编程习惯No. 4不声明类型那些热爱类型化语言的人认为如果为每个变量添加明确的数据类型声明就可以写出更好的、没有错误的代码。花一点时间来拼写类型能帮助编译器在代码开始运行之前标志愚蠢的错误。可能会让人觉得痛苦但很有帮助。这是编程中停止bug的一种有备无患的方法。但是时代变了。许多较新的编译器完全可以智能地通过查看代码来推断类型。它们会向后和向前浏览代码直到可以肯定这个变量是string 还是int抑或其他。如果这些被查看的类型不成队列那么错误标志就会点亮。因此再也不需要我们输入变量的类型了。这意味着我们现在可以在代码中省略掉一些最简单的声明。代码更清洁而且阅读代码的人也猜得出for循环中命名为 i 的变量表示一个整数型。编程习惯No. 5摇摆不定的代码有的程序员在代码上特别优柔寡断犹豫不决。先是一开始将值存储为字符串然后又解析成整数。接着又转换回字符串。这是非常低效的你甚至可以感觉到CPU在咆哮这种浪费负载的行为。聪明的程序员之所以能快速地编码是因为他们事先会设计架构以尽量减少转换。他们的代码能更快地运行是因为他们有一个良好的规划。但是不管你信不信这种摇摆不定的代码有时候也是有意义的。比如说你有一个非常棒的库在它专有的黑盒子里能做无数智能的事情。如果库需要字符串的数据那么你就给它字符串即使你刚将这个数据转换成为整数型。当然你可以重写所有的代码以尽量减少转换但是这需要时间。而且有时候让代码稍微多花点额外时间来运行也未尝不可因为重写代码需要耗费我们更多的时间。有时背负这样的技术债务比一开始就正确构建的成本要更低。有的时候库不是专有的代码但那些你以前全部自己写的代码是你独有的。有的时候再次转换数据比重写库中的所有代码要快得多。所以就让它这样吧就让代码摇摆吧。编程习惯No. 6编写你自己的数据结构有一个标准规则是程序员在完成数据结构课程的第二年不应该写用于存储数据的代码。基本上我们需要的所有的数据结构已经有人写好了而且其代码已历经多年的测试和再测试。它和语言捆绑在一起而且常常是免费的。你的代码只能造就bug。但有时你会发现数据结构库有点慢。有时它们会迫使我们使用标准的但于我们的代码却是错误的结构。有时库会把我们推向在使用结构之前重新配置数据的地步。有时库会包含一些所谓有备无患的保护功能如线程锁但其实我们的代码并不需要。如果遇到这种情况那么就应该着手写我们自己的数据结构。这或许能让你做得更快做得更多。而且代码会变得更清洁因为我们不会包括那些多余的用于格式化数据来完成一些功能的代码。编程习惯No. 7在中间打破循环有一个规则制定小组宣称每个循环都应该有一个“常量”也就是说当这个逻辑语句为true的时候循环一直执行。当常量一定不会是true的时候循环才会结束。这是考虑复杂循环的好方法但它会导致愚蠢的禁令——例如禁止我们在循环中间使用return 和break 语句。这一条也包含在禁止goto语句的规则中。这个理论是好的但它通常会导致更复杂的代码。请看下面这个简单的案例遍历数组将找到的元素传递给test函数并将该元素返回while (ia.length){   ...   if (test(a[i]) then return a[i];   ... } “循环常量”爱好者会要求我们增加一个布尔变量命名为notFound然后这样使用while ((notFound) (ia.length){ ... if (test(a[i])) then notFoundfalse; ... } 如果这个布尔值能够合理地命名那么这就是一段很棒的自文档化的代码更易于大家理解。但这也增加了复杂性。这意味着你需要分配另一个局部变量并堵塞寄存器因为编译器也许还不能足够智能到解决这个问题。有时候一个goto 语句或一个跳转会更干净利索。编程习惯No. 8使用短变量名i和x和and也是有意义的Edgar Allan Poe这位诗人和小说家曾经说过在一个故事中的每一个词都应该是有内涵的。编码规则也强调如此。变量名应该说明这个变量的所作所为。那些使用驼峰式大小写的方法来写变量名以表达关于变量细节的Java程序员深以为然于是一个又一个疯狂长度的变量名出炉了。有些程序员写的变量名会组合五六个甚至更多的词语。但有的时候使用单个字母作为变量名反而会更方便。有时在循环迭代中只使用i或j会更简单。有时使用字母a代表array l代表list会更便捷即使是字母l和数字1看上去很难辨别。正如这篇文章前面鼓励的是自文档化的代码而非长长的注释。在上述情况下单个字母的变量名也是自文档化的。字母 i 是通用的迭代器。只要是程序员立刻就会懂。编程习惯No. 9重新定义运算符和函数一些最有趣的编程语言允许你去做一些特别诡异的事情例如重新定义元素的值就如同常量一般。例如Python你可以输入TRUEFALSE在Version2.7及之前的版本。这并不会产生某种逻辑崩溃或导致宇宙终结——仅仅只是互换了TRUE和FALSE的含义。你也可以在C预处理器和一些其他语言中玩玩类似于这样的危险游戏。还有一些语言允许你重新定义运算符如加号。当然这是延伸了不过有一个观点是在一个大的代码块内当重新定义一个或多个所谓的常量时速度会更快。有时老板会要求代码做一些截然不同的事情。当然你可以修改代码的每个事件或者你可以重新定义。这让你看上去像一个天才。不必重写一个庞大的库只需翻转一下就可以做相反的事情了。这9个习惯就都在这儿了。千万不要轻易尝试不管它看上去有多牛掰。太危险了——真的这是实话。来自51CTOhttp://developer.51cto.com/art/201712/560114.htmAndroid编程精选整理发
http://www.sadfv.cn/news/210327/

相关文章:

  • 做网站业务好干吗国外视觉差网站
  • 在家建设一个网站需要什么手续网站后面的官网是如何做的
  • 咖啡网站建设策划书做网站后台维护的岗位叫什么
  • 自己如何在网上做网站济南网站优化公司排名
  • 正邦做网站吗如何做网站聚合页
  • 网页制作教程教案seo搜索引擎优化就业前景
  • 文明网站机制建设深圳网站建设服务哪家专业
  • 做网站登录页面的论文息烽县住房和城乡建设局网站
  • 保定关键词排名首页aso应用优化
  • 石家庄网站设计公司排名沈阳专业网站制作设计
  • 北京住房城乡建设部网站首页怎么做网络推广优化
  • 网站建设设计服务公司什么网站可以做相册
  • 网站建设与管理专业教学计划网站建设软件开发公司
  • 网站建设步骤详解公众号和网站
  • 网站建设公司的公司响应式网站demo
  • 南昌电商网站设计readme.md做网站
  • 服装网站建设比较好做mip网站需要多钱
  • 网站开发实训报告模板台州关键词首页优化
  • 检查网站是否做301wordpress主题 水墨
  • 大连网站建设选高合科技深圳有哪些网络公司
  • 奇趣网做网站中国菲律宾南海开战
  • 移动官网网站建设抖音代运营有风险吗
  • 西安单位网站建设个人公司网页如何设计
  • 高端网站建设要阿里云wordpress优化
  • 沧州高端网站制作网站维护费用一般多少钱
  • 什么网站做推广最好开发项目的流程
  • 网站建设与管理学习收获wordpress的选页插件
  • 网站无法上传照片qq空间怎么添加wordpress
  • 网站备案连接crm软件哪家好
  • 自己做的网页怎么上传网站吗保定市建设计网站