软件开发技术论坛(软件开发论坛app)

上海园区招商办公室

联系人:梁经理

联系电话:15000456391

欢迎来电咨询,竭诚为你服务!


每个程序员都应该具备的好习惯

养成这些好习惯,成为人人尊敬的优秀程序员

软件开发技术论坛(软件开发论坛app)

照片由Safar Safarov在Unsplash上拍摄,用 Canva 编辑

程序员通常遵循各种实践来改善他们的工作方式,以在他们的职业生涯中取得进步,扩展他们的知识,并增加他们的收入。他们通常从高级工程师、开源项目和互联网资源中学习好的实践。同时,一些顽固的程序员从他们漫长的编程旅程中定义了独特的好习惯。

在我们的编程生涯中,我们通常有机会参与许多项目。每个项目都带来了不同技术和基础设施的新体验。然后,我们根据具体的项目和开发文化来练习各种良好的习惯。但是,在核心层面,我们可以找到每个程序员都可以实践的良好通用习惯,无论项目领域或技术如何。

我 13 岁时开始使用 Microsoft Visual Basic 版本进行编程6.0。我从事过许多采用不同技术的软件项目,并使用了十多种编程语言。以下良好习惯帮助我提高了我在软件工程职业生涯中的编程技能和知识。确保将这些好习惯也添加到您漫长的编程生涯中!

掌握维护和优化方法

我们如何开发高质量的软件系统?一些软件项目以令人印象深刻的架构设计和规范开始,但后来它们往往变得臃肿、不那么流行和无人维护。例如,我们都喜欢 Windows-XP 之类的早期 Microsoft 操作系统,但后来,伟大的操作系统变得臃肿、缓慢且不受?欢迎。同时,一些软件系统从实验开始,并与令人印象深刻的用户群和开发者社区一起永远存在。

增加特定软件系统的寿命背后有两个秘密:维护和优化。维护包括重构代码库、修复已识别的错误以及通过回答查询来帮助用户。即使是简单的 GitHub Dependabot 自动拉取请求合并也可以提高项目的质量。

另一方面,优化是一种抗膨胀的武器。根据著名的摩尔定律,计算机每天都在变得越来越强大,因此代码优化被低估了。但是,编写即使在旧电脑上也能流畅运行的优化代码,无疑是每个程序员都应该具备的好习惯。

过去的程序员通过按位操作优化了平方根逆计算,如下所示:

软件开发技术论坛(软件开发论坛app)

Quake III Arena中的快速逆平方根算法,作者截图

优化您的代码库以支持低端计算设备。编写干净且最少的源代码也是优化的一部分。

掌握库、框架或工具后学习内部知识

每天,我们都会看到一种新的工具、框架或软件库,它们让我们的生活更轻松。这些创新通常会变得流行并覆盖大量用户群。后来,我们可以看到新发布的趋势技术的各种职业道路。例如,谷歌在 2018 年发布了 Flutter——现在,数百万开发人员使用 Flutter 构建跨平台应用程序。

通过长期使用特定技术,我们可以擅长特定技术。我们如何才能成为特定技术的专家?学习内部知识是一个很好的习惯,它支持我们成为任何技术的专家。例如,在使用 Git 一段时间后,您可以通过鲜为人知的管道命令了解 Git 内部结构。

当您了解技术堆栈的内部结构时,您可以做出准确的技术决策。当您学习内部知识时,您确实会更加熟悉特定技术的局限性和变通方法。学习内部知识还可以帮助我们了解我们每天都在做什么编程。激励每个人进一步了解他们工具的内部结构!

使用 DevOps 原则并激励他人使用

在过去的日子里,程序员过去常常手动进行软件工程活动。还记得我们的老朋友 FileZilla 吗?— 过去的 Web 开发人员经常使用 FTP 工具更新他们的软件系统。但是,现在我们甚至可以通过推送一个简单的 Git 标签来自动部署 Web 应用程序。同样,DevOps 运动彻底改变了我们开发自动化软件系统的方式。

如今,每个软件开发团队都在努力整合 DevOps 实践,以在现代软件市场中保持竞争力。软件工程师通常倾向于实施 DevOps 原则以节省每个人的时间。但是,一些软件开发团队仍然没有将时间投入到 DevOps 上,因为 DevOps 原则通常不会添加可以向最终用户展示的功能。

DevOps 不仅仅是自动化软件发布工作流程——它激励我们自动化整个软件开发生命周期 ( SDLC )。使用 DevOps 原则来节省您的时间并激励其他软件开发团队提高他们的生产力。

尊重地使用其他程序员的辛勤工作

现实情况是,由于有限的开发时间和受控的预算,很难从头开始编写每个软件组件。假设您计划在不使用任何第三方库的情况下创建控制台程序。尽管如此,您仍需要使用预编译的第三方编译器程序来编译您的源代码。即使您希望使用纯汇编编写程序,您仍然需要汇编程序和内核函数接口(也称为系统调用)。如果您打算从头开始编写所有内容,则需要像早期的Unix一样使用 ISA(指令集架构)汇编构建操作系统。

因此,在现代软件开发中,使用第三方开发工具是不可避免的。有时,我们从可以在互联网论坛上找到的示例代码片段中获得编程解决方案。当我们使用他们的代码片段、库和工具时,赞扬其他程序员的辛勤工作是一个好习惯,即使他们的许可文件说不需要署名。

如果您复制代码片段或使用类似 StackOverflow 的论坛的决定,请添加超链接作为代码注释。根据您的第三方库的许可添加版权说明。尊重其他程序员的辛勤工作。通过相关的 StackOverflow 链接查看 Electron源代码如何包含解决方法:

软件开发技术论坛(软件开发论坛app)

Electron 源代码包含一个带有 StackOverflow 链接的解决方法,作者截图

永远不要围绕你的知识建立边界——学习你喜欢的一切!

我们经常遇到 React.js、.NET、Angular 和 Java 专家,但我们很少遇到能够适应并热爱任何技术的全能者。顽固的程序员将技术堆栈视为帮助他们解决工程问题的工具。他们倾向于掌握计算机科学基础知识,并练习他们喜欢的每一项技术,以扩展他们的技能和知识。

一些开发人员在他们的职业生涯中只使用一个技术堆栈和软件工程子领域。专注于一个计算机科学领域无疑是件好事,但如果你专注于一个技术堆栈,你将围绕你的知识和技能集建立边界。例如,掌握软件工程领域就很棒。但是,如果您在整个职业生涯中构建 Node.js RESTful API,您将限制自己的知识和技能。

学习您喜欢学习的所有内容——这是识别您的专业知识的好方法。学习多种编程语言并尝试不同的技术,然后您将学习令人印象深刻的概念和课程,帮助您在职业生涯中取得进步。例如,在学习围棋后,我学到了以下无价的教训:

谢谢阅读。

本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 792114587@qq.com 举报,一经查实,本站将立刻删除。
如若转载,请注明出处:https://www.qiked.com/6743.html