Web程序员要遵守哪些规则?_惠州前端培训学校
作者:alu发布时间:2022-03-24分类:前端开发专业浏览:521
Web程序员要遵守哪些规则?这是大家在学习前端的过程都会遇到的问题,那么下面我们一起来看看惠州北大青鸟学术部老师是怎么解答的。
我是一个倾向于生活在规则下的人。现在,这些规则大部分是我本人为自己设立的-但它们依然是规则。我发现为自己创建规则可以让我过得更好,因为这样做可以提前决定一些事情,而不是要在匆忙中做出所有的决定。
1、技术是你获取解决方案的方法,而不是解决方案本身
我们可以得意忘形地使用最新的JavaScript框架-嗯哼,Angular-IoC 容器,编程语言,甚至操作系统。但作为一个程序员,所有这些东西并不是问题真正的解决方案,相反,它们只是帮助我们解决问题的简单工具。
在面对那些我们喜欢或是当前非常流行的特殊技术时,我们必须非常小心,而不是变得过于疯狂。以免步入这样一个险境:仅仅因为我们手里拿了一把闪闪发亮的锤子,就把所有的问题都看作钉子。
2、对代码而言,“聪明”是“清晰”的敌人
在写代码的时候,我们应努力保持书写的代码清晰易懂。可以明确(Clear)表明自身意图的代码,永远要比那些晦涩的代码更有价值-无论那些晦涩的代码被构建得多么聪明(Clever)。
虽然情况并不总是这样,但一般来说,“聪明”是“清晰”的敌人。一种经常出现的情况是,当我们写出一段“聪明”的代码时,这段代码并不是特别的“清晰”。
这条规则非常重要,尤其是当我们思考我们要做一些特别“聪明”的事情时。有时候我们写出了“聪明”的代码,它们同时也是清晰的,但是其他情况也会时有发生。
如果你对写出简洁的代码感兴趣,我高度推荐你用下面这本书上描写的规则来检验:Robert C. Martin的《干净的编码者:专业程序员的行为守则》(The Clean Coder: A Code of Conduct for Professional Programmers)
3、只在迫不得已的情况下才写代码
这条可能会有些争议,毕竟,作为程序员,我们的工作不就是写代码吗?嗯。。。这个看你怎么说了。写代码的确是我们工作的一部分,但是,我们要尽可能努力的去用最少的代码来解决问题。
所谓“最少的代码”并不是说我们只能用一个字母的变量名或者其它方式来压缩我们的代码。“最少的代码”指的是我们应该只写为了实现功能而必不可少的代码。
我们常常添加一些“酷”的功能,来让代码“健壮”和“灵活”,让代码能够处理“所有”可能的使用情况。我们企图猜测那些可能会被用到的功能。总之,我们常常花费时间去解决一些头脑中臆想出来的可能的情况。
我们这么做,是错的。
不能否认,这些多余的代码能会带来些好处。然而,这些代码同样的会有很多危害。我们写得代码越多,就越有可能引入错误;我们写得代码越多,将来的维护工作就越繁杂。好的软件工程师只写绝对需要的代码。伟大的软件工程师会把没用的代码统统都删掉。
4、注释是魔鬼
我并不是很热衷于写注释。当我跟Bob Martin在一起时,他说:“你写的每个注释,都代表着你表达能力的欠缺“
这并不是说一点注释也不写,但通常我们可以通过一种更好的方式——命名来避免。注释仅在命名不能有效表示变量或方法的意图时才真正需要。此时的注释表达了不能用代码表达的真实意图。例如,注释能够告诉你在代码中某些奇怪的操作顺序并不是错误的,它是由于底层系统的某一bug而有意为之的。
但通常,注释不仅没有必要,有时它们还会"撒谎".注释没有随着代码更新的倾向,而这是很危险的,因为它们会将你带入歧途。
你会查检每条注释和与之对应的代码,确保代码是在做注释说的事么?如果是的话,写注释还有什么用?如果不是,你怎么相信注释说的是对的?
5、永远要在你开始写代码前考虑好它是做什么的
这一条看上去显而易见,然而事实并非如此。想想你有多少次并没有完全想好就坐下来写代码,而这段代码确实实现了你要做的功能?比之我乐于承认这个思路的正确性,我行动了更多次,这是一条我需要经常去品读的规则。
练习测试驱动开发(Test Driven Development,TDD)在这里会有所帮助,因为你在写出代码前,必须逐字的了解它们会做些什么,但是这依然无法阻止你去做错的事情。因此,在构建一个特性或功能前,保证自己百分之百地理解需求,也是很重要的。
6、在交付之前,测试你的代码
别把你的代码直接扔给QA,然后指望着所有人来浪费时间为你服务。事实上,你自己认真的运行一下测试案例,是完成代码之前必不可少的一步。
这并不是说一定让你自己找到代码中所有的问题,但是你至少得把那些愚蠢得令人尴尬的错误找出来吧?很多软件工程师都觉得测试代码是QA的工作。这个想法绝对是大错特错。保证代码的质量,是每个人的工作!
7、每天学点新东西
如果你每天都不学新知识,你就在退步,因为我可以保证你会忘记一些东西。每天学一些新东西,并不会花去你太多的时间。
试着花15分钟去读一本书每天的小进步,随着时间的推移会积少成多,并在很大程度上重塑你的未来。如果你想在未来获取回报,你现在就需要开始投资了。
此外,今天的技术变化非常之快,如果你不能做到不断提高已有技能并学会新的技能,你会很快掉队。
8、写代码是件快乐的事
诚然,你最开始进入这个行业可能只是因为它待遇优厚。我是说,为了良好的待遇找工作没有任何错误,但是医生或律师可能会是更好的选择。
你之所以成为了一名软件开发人员,是因为你爱写代码。因此,不要忘记你在做你所热爱的事情。代码有很多乐趣,我希望我能写更多的代码。
也许你已经忘记了写代码的乐趣,也许是时候你应该再次记起写代码是多么的有趣了-通过开始一个边角的项目,或是仅仅改变你的心态,意识到你开始写了代码,并为之付出。(但愿如此)
9、你无法完全了解它
无论你学了多少知识,都会有大量你所不知道的东西。认识这一点非常重要,因为你可以驾驭你的那些想要去学会所有东西的发狂的想法。
没能获取所有问题的答案,这挺好的。在自己不理解某事时寻求帮助或说出来,这也挺好的。在很多情况下,你可以相当接近地了解到你想知道的事情-相信我,我一直在这样做。
我的观点是,不要总想着学会一切-如果这是个不可能完成的任务。相反,你应该重点学习那些你需要去知道的东西,并且提升那些可以让自己学习速度加快的能力。
10、最佳实践要因地制宜
测试驱动开发是你最拿手的编程方式么?我们应该一直采用结对编程?不使用IOC容器你就不好编了?
这些问题的答案是“看情况吧”
具体情况具体分析.人们会将所谓的“最佳实践”强推给你,并且他们经常说这些很实用——你应该经常这样做或那样做——但这是不对的。当我写代码时我会遵循很多”最佳实践“,但有时我也会背离它们。
原则是永恒的,最佳实践是变通的.
11、力求精简
所有问题都可以进行分解.最佳的解决方案往往是最简单的.但简单并不容易.简化事情需要付出努力。
本文目的在于简化复杂的软件开发和人生.相信我,这并不容易.傻瓜为问题提出复杂的解决方案.简化解决方案需要更多的精力和耐心,但这没有错。
花点时间,多点努力,力求精简!
想了解更多关于前端的资讯,可以来惠州北大青鸟新方舟校区了解一下。
标签:惠州前端培训学校惠州前端基础惠州前端培训北大青鸟IT计算机学校北大青鸟IT软件学校前端北大青鸟IT学校惠州北大青鸟北大青鸟
- 前端开发专业排行
- 标签列表
-
- Java (3694)
- 北大青鸟 (3713)
- 软件开发 (3613)
- JAVA (3413)
- UI设计入门 (2093)
- 惠州北大青鸟 (4375)
- 惠州IT培训 (2558)
- UI设计培训 (2090)
- 惠州UI设计培训 (2095)
- 惠州UI设计培训学校 (2090)
- 惠州计算机软件培训 (6260)
- 惠州计算件软件开发 (6260)
- 惠州计算机软件基础 (6261)
- 惠州计算机JAVA培训 (3574)
- 惠州计算机Java软件开发 (3620)
- 惠州计算机JAVA软件开发 (4645)
- 惠州计算机JAVA软件开发学校 (3338)
- 惠州计算机Java软件开发培训 (3338)
- 北大青鸟IT计算机学校 (5048)
- 北大青鸟IT软件学校 (5062)
- 北大青鸟IT学校 (5059)
- 惠州计算机UI设计软件开发 (2088)
- UI设计基础教程 (2088)
- UI设计是什么 (2088)
- UI设计教程 (2088)
- 网站分类
-
- 计算机教程
- 计算机入门
- 职业学校
- 新闻动态
- 专业课程
- 热门技术
- SEO
- 培训教程
- windows
- linux教程
- 系统集成
- 网站开发
- Html5
- 办公软件
- 师资力量
- 热点问答
- 联系我们
- 计算机学校
- 惠州计算机学校
- 河源计算机学校
- 广州计算机学校
- 深圳计算机学校
- 湛江计算机学校
- 佛山计算机学校
- IT计算机培训信息
- 设计专业
- UI
- 影视特效
- 游戏动漫设计
- Photoshop
- AI设计
- 软件教程
- Java技术
- C语言/C++语言培训
- C#
- Python技术
- PHP
- 数据库
- SQL Server
- 网络教程
- 网络安全
- 网络营销
- 软件专业
- 大数据专业
- 前端开发专业
- 软件测试专业
- Python专业
- 软件实施
- 珠海计算机学校
- 初中生学什么好
- 计算机认证
- 文章归档
-
- 2024年10月 (32)
- 2024年9月 (29)
- 2024年8月 (68)
- 2024年7月 (59)
- 2024年6月 (43)
- 2024年5月 (48)
- 2024年4月 (80)
- 2024年3月 (65)
- 2024年2月 (54)
- 2024年1月 (25)
- 2023年12月 (12)
- 2023年11月 (73)
- 2023年10月 (134)
- 2023年9月 (34)
- 2023年8月 (3)
- 2023年7月 (3)
- 2023年6月 (12)
- 2023年5月 (30)
- 2023年4月 (72)
- 2023年3月 (11)
- 2023年2月 (34)
- 2023年1月 (37)
- 2022年12月 (78)
- 2022年11月 (359)
- 2022年6月 (1193)
- 2022年5月 (570)
- 2022年4月 (1567)
- 2022年3月 (982)
- 2022年2月 (54)
- 2022年1月 (182)
- 2021年9月 (308)
- 2021年8月 (1704)
- 2021年7月 (2423)
- 2021年6月 (1806)
- 2021年5月 (1569)
- 2021年4月 (1380)
- 2021年3月 (1255)
- 2021年2月 (709)
- 2021年1月 (1521)
- 2020年12月 (3626)
- 2020年11月 (1646)
- 2020年10月 (1046)
- 2020年9月 (592)
- 最近发表
-
- 江门信息:伪造健在证明材料骗取工伤保险待遇真刑!|||计算机软件培训学校
- 汕头信息:深化组团挂联汕头这场义诊助力百千万工程|||大学生计算机培训学校
- 东莞信息:石龙石龙人社分局持续举办南粤家政技能培训班|||广州计算机编程培训
- 东莞信息:虎门虎门镇首个人才交流服务中心揭牌成立|||计算机职业技能培训班
- 中山信息:中山市人社局持续开展讲诚信不欠薪根治欠薪法治宣传活动|||计算机培训机构
- 东莞信息:南城南城街道开展职业技能展示活动|||计算机网络培训学校
- 东莞信息:东莞市金秋招聘月就业服务行动招聘会暨东莞市第三届全国个体工商户服务月活动|||计算机专业维修学校
- 茂名信息:来宾市人社局赴我市开展劳务协作交流活动|||电脑计算机编程培训学校
- 汕头信息:家政高手同台比武!汕头市举办2024年南粤家政职业技能大赛|||广州市北大青鸟计算机职业培训学校
- 东莞信息:莞城街道金秋招聘月暨重点群体招聘会活动|||广州计算机软件培训