文章详情

短信预约-IT技能 免费直播动态提醒

请输入下面的图形验证码

提交验证

短信预约提醒成功

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

2024-12-10 16:39

关注

1.使用恰当的编程语言

[[344102]]

俗话说:“工欲善其事,必先利其器。”如果您的团队能够为应用程序选用合适的编码语言,势必会对开发任务的高效完成产生积极的正面影响。例如:

不过,无论如何,请尽量不要让最新的编程时尚影响您的语言选择。最新的不一定是最适合您手头项目的语言。就我个人而言:十年前,我们会用一些JavaScript在服务器端呈现页面。五年前,我们会用REST或GraphQL API进行客户端的数据渲染。而在2020年初,我们在应用程序中使用了TypeScript,来呈现服务器端数据。

2.不要自行实施身份验证

我参与过多个项目,其中有些是在应用程序中实现了自定义的身份验证,并且将加盐(salted)的密码哈希值保存到数据库中。实际上,这完全没有需要。由于我们拥有将身份验证委派给活动目录(Active Directory)的基础架构,因此用户完全可以使用与Windows登录名相同的密码。如今,我们已经拥有了Auth0及其类似产品,完全可以将身份验证委托给Auth0。据此,我们不但可以降低自行设计与实现身份验证所带来的潜在风险,而且能够为应用程序提供更好的安全性。

3.首先编写单元测试

没有测试驱动的设计,就像只知道编写代码,而不开展测试一样,您最终会发现各种无法解决的长方法、长参数列表等问题,而且这些代码也会变得难以维护和改进。有时候,您需要手动去执行“git reset”,或直接转入代码重构(https://www.refactoring.com/)。

为了成功地进行单元测试,我们可以将某些功能分解为如上图所示的“红色、绿色、重构”,这样的微循环。其中:

如此往复循环下去,以提高代码的质量,并增强团队对于软件产品的交付信心。

4.利用SaaS、IaaS和PaaS

如今,开发人员需要将更多的时间投入到那些非代码性的任务上,其中包括:基础架构、DevOps、以及集成等方面。实际上,您完全可以通过简单的git push,这类SaaS服务与工具,来部署应用的新版本,且无需与DBA、系统管理员等抢夺内网资源。SaaS、IaaS和PaaS等服务供应商可以帮助我们打理各种有关软件项目开发的基本琐事。例如,您不需要自行配置Logstash和ElasticSearch的复制,第三方服务公司会从您的应用中检索并提取相关日志,同时在保存了90天后再删除掉,以满足GDPR(欧洲《通用数据保护条例》,https://www.ctrl.blog/entry/gdpr-web-server-logs.html)的要求。当然,您既需要花时间去找到能够提供此类服务的可靠提供商,又要充分衡量将客户的信用卡、短信、邮件等信息,存放到第三方平台所带来的安全性问题。

此外,像Heroku之类的平台即服务(PaaS)提供商,不仅能够实现应用程序的外包托管,而且可以通过各种技术栈的预配置安装,提供基础架构和平台的日常运维。据此,您可以更加专注于软件产品的交付时间。

5.使用IDE来分析代码

一些常用的、广受欢迎的IDE(集成开发环境,如:Eclipse、IntelliJ、Visual Studio、以及VS Code等),要么过于复杂,要么只能发现case块中没有最终默认子句之类的问题。我们在实际项目中使用到了linter这一套开发工具(生态系统)。它能够集成IDE或编辑器的各种内置功能,方便我们开展各种调试。其中,SonarLint不但能够支持前面提到的各种IDE,还可以提供针对程序中安全问题、细微错误、以及不规范编码的各种建议。此外,您还可以使用SonarQube来衡量代码的质量,修正IDE中的错误建议,最终交付安全且易于维护的代码。

6.快速构建

[[344104]]

作为独立的开发人员,您可能会选择在本地的开发环境中,运行测试和部署代码,并据此得到快速的反馈。但是,当您在进行团队协作时,程序代码就可能需要在CI/CD管道中运行了。为了按时完成任务,我们往往会用到MakefileGradle、或其他适合编程语言与运行时环境的构建工具,以便实现数据库的迁移、打包、部署、以及分发等过程自动化,并保证代码能够顺利地运行在生产环境中。

在任何新的项目开启时,我们都需要对其进行一些基础性的探索与研究。而在开发的生命周期中,我们的重点除了编写代码,还应当兼顾实施构建,搭建IDE,配置运行环境,部署生产环境,以及顺畅地与外部进行各种调用和交互。

小结

当然,在实际开发程序的过程中,我们可能会碰到许多影响到生产率和交货时间的因素。希望上面介绍的六种提高生产率的可行性技术建议,能够对您的项目实践提供帮助,让您事半功倍。

原6 Productivity Practices for New (or Old) Developers ,作者: Michael Bogan

【51CTO译稿,合作站点转载请注明原文译者和出处为51CTO.com】

来源:51CTO内容投诉

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

软考中级精品资料免费领

  • 历年真题答案解析
  • 备考技巧名师总结
  • 高频考点精准押题
  • 2024年上半年信息系统项目管理师第二批次真题及答案解析(完整版)

    难度     813人已做
    查看
  • 【考后总结】2024年5月26日信息系统项目管理师第2批次考情分析

    难度     354人已做
    查看
  • 【考后总结】2024年5月25日信息系统项目管理师第1批次考情分析

    难度     318人已做
    查看
  • 2024年上半年软考高项第一、二批次真题考点汇总(完整版)

    难度     435人已做
    查看
  • 2024年上半年系统架构设计师考试综合知识真题

    难度     224人已做
    查看

相关文章

发现更多好内容

猜你喜欢

AI推送时光机
位置:首页-资讯-后端开发
咦!没有更多了?去看看其它编程学习网 内容吧
首页课程
资料下载
问答资讯