9条只有经历过才能深刻理解的编程原则在别处是学不会的。对于以下9点,我要非常努力的练习和学习!1.最便宜、最快和最可靠不能同时存在。戈登·贝尔(GordonBell)曾说过这句话。这里的教训是,你应该让你的系统或软件尽可能简单易懂。降低其复杂性,漏洞就会减少。2.Voodoo编程很多程序员自始至终都有这样的经历:有时你成功修复了bug,却不明白问题是什么。理解您编写的代码并弄清楚为什么您的更改有效是很重要的。这种心态会比书本教给您更多。不要不好意思,实在不懂就请教别人。也许有一天,你会发现自己成了别人劝告的对象。复制粘贴代码也是如此。我们有时都会使用堆栈溢出,这没关系。但是如果看不懂代码,要么不要用,要么请人指正。创建或使用不理解的代码也称为Voodoo编程,它是一种潜在的漏洞。3、代码不会说谎,但是有时候注释会起到很重要的作用,但是如果可以的话,尽量不要使用注释,而是多写一些描述性的代码。这是因为当您修改代码时,注释往往会被忽视。所以我这样说:注释有时可能具有欺骗性(错误),因为它周围的代码已经更改但本身没有被修改。来源:unsplash编写代码的方式有以下三种:在代码中使用注释。·将评论写在一个单独的文件中。·编写自记录代码。让我详细说明最后一点。这就是编写更具描述性的代码的含义:设计您的代码库,使其易于查找且结构合理。·不要试图保存首字母。命名变量、类和函数时使用全名,例如windowManager不用wm,readFileToString不用rf。当您或其他人隔几个月查看代码以尝试理解其含义时,此命名法会有很大帮助。·提取尽可能多的函数并让它们完成它们的工作。根据它的功能来命名,比如创建一个将文件读入字符串的函数,命名为readFileToString(StringfileName),不用仔细看代码也能理解它的功能。理想情况下,您的代码由一系列读起来像人类语言的函数调用组成。只有在必要的时候,读者才会去深入理解,代码本身就具有解释的功能。4.正则表达式遇到问题时,有些人会想:“用正则表达式吧!”那么,现在他不得不面对两个问题。这个笑话有点老了,但它仍然是人间真情。正则表达式很痛苦,当你认为你终于找到了一个案例的正确答案时,下一个案例只有70%匹配。来源:WikiMedia以上只是我的想法,除非万不得已,否则建议不要避免滥用正则表达式。通常,split、substring、endsWith、indexOf等函数的组合会产生更具可读性的代码。5.软件就像一座大教堂:我们建造它们——然后祈祷《大教堂与集市》对比两种不同的开发模式。正如维基百科所写:“在大教堂模型中,源代码可用于每个软件版本,但版本之间开发的代码仅限于软件开发人员的排他性群体;在集市模型中,代码在互联网上开发在公众看来。Linux内核项目的领导者LinusTorvalds被认为发明了这个过程。两种模式各有利弊,但普遍认为软件需要迭代开发,其功能是逐渐添加的,因此最终用户最好从早期阶段就参与到开发过程中。来源:unsplash6.从便宜、快速和可靠中选择2我喜欢这部分,它让听众(你的经理)自己思考:你想要可靠和快速吗?是的是的,但你想雇用最好的程序员。·便宜和快?那就不要指望它是可靠的!·可靠又便宜?也许你很幸运,但你需要花更多的时间寻找廉价劳动力,或者需要大量的迭代(因此需要更多的时间)才能得到7.软件工程中有两件难事·0.命名·1.缓存失效·2.大小差异-我们人类通常从1开始计数,而计算机从0开始计数。这个简单的事实一直是许多漏洞和困难。机会是你犯了1或更少的错误,a如果你还没有,别担心,他们会找到你的。8.优秀的程序员在走单行道时会看两边。最好的程序员可以处理所有错误。请注意,我说的是全部,甚至是那些“永远不会出现的错误”。大多数软件都是为了实现“快乐流程”而编写的——一切都按预期工作,用户不会做奇怪的事情。然而,现实世界是混乱的,随着时间的推移,有潜在风险的事情可能会出错。尝试捕获尽可能多的错误,尤其是当您的软件正在实现重要功能时。资料来源:unsplash9。用代码行数衡量编程进度就像用重量衡量飞机制造进度。更多的代码行并不意味着更多的进步。同样,编写更多代码并不意味着您比其他人更有效率。最好的代码是简洁地完成工作的代码,也是最难编写的代码。这是一个著名的软件原则,叫做KISS,是“KeepItSimple,Stupid”的首字母缩写。哪些你不明白也没关系,你只需要记住它们,然后等待实际体验的那一刻,让你深刻理解。
