当前位置: 首页 > 科技观察

提高新老码农生产率的6点可行性建议

时间:2023-03-18 13:47:34 科技观察

《提高新老码农生产力的6条可行建议》。在项目开发中,他们希望能够高效、有成就感地交付完美的代码,但现实往往适得其反。本文将与大家分享六大经验总结深耕编程领域多年的资深码农视角,希望能帮助大家最大限度地提高生产力,加快产品交付。工欲善其事,必先利其器。”如果你的团队能够为应用选择合适的编码语言,肯定会对高效完成开发任务产生积极的影响。例如:Python可以“root”在科学计算领域,所以重视程序稳定性和解决问题的一致性的开发人员通常会选择Python。Ruby非常适合用于网站的表达代码,Ruby社区可以为同一问题提供多种解决方案。PHP是快速服务器端应用程序的绝佳选择。它几乎可以部署在任何地方。社区内拥有大量的PHP开发者,形成一个生态系统,可以为手头的项目提供及时的帮助。Node.js稍微复杂一些,但它允许Web开发人员在服务器端和客户端使用相同的语言。如果你需要提供高度交互的客户端体验,那么你可以选择Node.js来优化。尽管如此,尽量不要让最新的编程时尚影响您的语言选择。最新的不一定是手头项目的最佳语言。个人观点:十年前,我们会使用一些JavaScript在服务器端呈现页面。五年前,我们会使用REST或GraphQLAPI进行客户端数据渲染。在2020年初,我们在应用程序中使用了TypeScript来呈现服务器端数据。2.不要自己实现身份验证。我参与了几个项目,其中一些项目在应用程序中实现了自定义身份验证并将加盐(salted)的密码哈希值保存到数据库中。其实,这是完全没有必要的。由于我们有一个将身份验证委托给ActiveDirectory的基础结构,因此用户使用与Windows登录名相同的密码是完全没问题的。现在我们有了Auth0及其同类,将身份验证委托给Auth0就完全没问题了。这样,不仅可以降低我们自行设计和实现认证的潜在风险,还可以为应用程序提供更好的安全性。3.先写单元测试。没有测试驱动设计,就像只知道怎么写代码而不会测试一样。你最终会发现长方法、长参数列表等各种无法解决的问题,这些代码将变得难以维护和改进。有时,您需要手动执行“gitreset”,或直接进行代码重构(https://www.refactoring.com/)。为了成功进行单元测试,我们可以将某些功能分解为“红色、绿色、重构”等微循环,如上图所示。其中:红色——直接从那些失败的单元开始编写测试,通过排除真实运行环境中的干扰因素,随时运行单元测试。绿色-编写使该单元能够通过测试的代码。重构——清理代码,重构并再次运行单元测试。这个循环不断提高代码的质量,增强团队对软件产品交付的信心。4.利用SaaS、IaaS和PaaS如今,开发人员需要将更多时间花在非编码任务上,包括:基础设施、DevOps和集成。事实上,你可以通过简单的gitpush来部署新版本的应用程序,比如SaaS服务和工具,而无需与DBA和系统管理员争夺内网资源。SaaS、IaaS、PaaS等服务商可以帮我们打理与软件项目开发相关的各种基础杂事。例如,您不需要自己配置Logstash和ElasticSearch的复制。第三方服务公司会从您的应用程序中检索并提取相关日志,并在保存90天后删除它们以满足GDPR(欧洲♂,https://www.ctrl.blog/entry/gdpr-web-服务器日志.html)。当然,您需要花时间寻找可以提供此类服务的可靠提供商,同时也要充分权衡将客户的信用卡、短信、电子邮件等信息存储在第三方平台上所带来的安全问题。此外,Heroku等平台即服务(PaaS)提供商不仅可以实现应用程序的外包托管,还可以通过各种技术堆栈的预配置安装来提供基础设施和平台的日常操作和维护。因此,您可以更加关注软件产品的交付时间。5.使用IDE分析代码。一些常用流行的IDE(集成开发环境,如:Eclipse、IntelliJ、VisualStudio、VSCode等)要么过于复杂,要么只能发现case块中没有finaldefault。条款之类的。我们在实际项目中使用过linter的一套开发工具(生态系统)。它可以集成IDE或编辑器的各种内置功能,方便我们进行各种调试。其中,SonarLint不仅可以支持上述各种IDE,还可以针对程序中的安全问题、小错误、不规则编码等提供各种建议。此外,您还可以使用SonarQube来衡量代码质量,修复IDE中的错误建议,最终交付安全易维护的代码。6.快速构建作为独立开发者,您可以选择在本地开发环境中运行测试和部署代码,并得到相应的快速反馈。但是,当您作为一个团队进行协作时,程序代码可能需要在CI/CD管道中运行。为了按时完成任务,我们经常会使用Makefile、Gradle,或者其他适合编程语言和运行环境的构建工具,从而实现数据库迁移、打包、部署、分发等过程的自动化,确保代码可以在生产环境中流畅运行。在开始任何新项目时,我们都需要对其进行一些基础探索和研究。在开发生命周期中,除了编写代码之外,还应该重点关注实现构建、搭建IDE、配置运行环境、部署生产环境,以及顺畅地与外界进行各种调用和交互。总结当然,在实际开发程序的过程中,我们可能会遇到很多影响生产力和交付时间的因素。希望以上介绍的六个可行的提高生产力的技术建议,能够对你的项目实践有所帮助,让你事半功倍。原标题:新(或旧)开发人员的6个生产力实践,作者:MichaelBogan