范文健康探索娱乐情感热点
投稿投诉
热点动态
科技财经
情感日志
励志美文
娱乐时尚
游戏搞笑
探索旅游
历史星座
健康养生
美丽育儿
范文作文
教案论文
国学影视

软件工程师必备的五种生产力增强方式

  在如今全球疫情持续蔓延的情况下,人们往往希望通过各种生产力的增强方式,来替代当前无法面对面开展高效协作的状况。在本文中,我们将和您讨论五种有助于软件工程师和技术公司提高工作效率的实用方式,其中包括:设计系统(Design systems)、代码查询器(code linters),代码格式工具(code formatters)、持续集成(continuous integration)、以及IaaS/PaaS平台(IaaS/PaaS providers)。它们能够帮助您在不牺牲软件产品质量的情况下,加快整个开发周期和交付进程。
  设计系统
  设计系统主要包含了各种设计模式、使用指南、文档、所有权模型、沟通方法、以及产品路线图等。我们可以简单地把它理解为一个根据可重用的构建块(building blocks),来创建某个产品的组件库。此处的构建块主要包括:图标生成器(avatars)、标志、按钮、下拉菜单、输入表单、图标、链接、模式、进度指示器、以及工具提示等组件。就像乐高积木一样,这些组件可以被组合起来,以创建应用程序必需的所有页面和功能。
  为了使软件产品的用户界面(UI)能够随着业务与功能不断扩展,设计系统能够给用户带来如下好处:设计系统可帮助您创建一致性的UI,以便您在整个应用程序中都使用统一的构件块组件。设计系统通过提供一种可以在任何地方实现的通用模式,以方便设计师和软件工程师加快开发的速度,而不必花费数小时、甚至数天的时间去重构模式。您可以使用一组共享的组件,来轻松地在整个应用中一次性进行模式的更改。例如:如果您需要更改某个应用的按钮样式,那么就无需逐个进行调整,而只需在设计系统中统一更改,以便直观地应用到任何使用相关按钮的地方。设计系统使您更加专注于提升用户体验(UX)。用户体验设计师无需花费时间,去逐个决定每个新功能的下拉菜单和模式该如何工作,而是只需在整体上,集中确保其合理性和用户友好度即可。
  目前,市场上有许多设计系统类工具可供选用,其中包括:Google的Material-UI、Adobe的Spectrum、以及Ant Design等。当然,如果您有足够的时间和资源的话,也可以自行构建设计系统。
  编码查看器
  上图是针对JavaScript的ESLint的截图。它通过对代码进行静态分析,协助自动捕获各种语法错误,以及潜在的运行问题。此类查看器不但短小精悍,并且能够直接被包含在您的构建过程或git hook中。毕竟,它们最擅长的,便是通过自动化执行,在海量代码中发现各种语法上、以及逻辑上的错误。
  以上面提到的ESLint为例,它不但具有高度可配置性,并且具有广泛的插件生态系统。您可以通过安装eslint -plugin-jsx-a11y之类的ESLint插件,来协助捕获应用程序中的违规访问行为;或者是通过安装eslint-plugin-react,来协助实现React的各种优秀实践。当然,如果您不想花时间自己去挑选插件的话,也可以使用一些预设好的插件。例如:eslint-config-airbnb插件包,就预设好了一些由Airbnb推荐的ESLint配置项。
  代码格式化工具
  诸如Prettier之类的格式化工具,可以对您的JavaScript、HTML、CSS、乃至各种Markdown文件,进行格式化与规范化。与代码查看器类似,代码格式化工具可以自动化执行,各种原本需要软件工程师手动完成的任务。
  通过预先配置,Prettier能够对应该使用的空格、制表符、分号、逗号等各种代码格式予以自动规范化。在节省代码审查时间的同时,团队不但可以在整个存储库中保持一致性和标准化,还能够腾出更多的时间,专注于代码本身的功能、以及可维护性。
  如下Java代码是Prettier配置的示例:{   2     "tabWidth": 2,   3     "useTabs": false,   4     "printWidth": 80,   5     "semi": false,   6     "singleQuote": true,   7     "trailingComma": "es5",   8     "quoteProps": "as-needed",   9     "jsxSingleQuote": false,   10     "jsxBracketSameLine": false,   11     "bracketSpacing": true,   12     "arrowParens": "avoid",   13     "endOfLine": "auto",   14     "proseWrap": "preserve",   15     "htmlWhitespaceSensitivity": "css"   16   }   
  我们来看一个例子。显然,下面的Java程序代码,看上去十分杂乱无章:function HelloWorld({greeting = "hello", greeted = ""World"", silent = false, onMouseOver,}) {   2   3     if(!greeting){return null};   4   5        // TODO: Don"t use random in render   6     let num = Math.floor (Math.random() * 1E+7).toString().replace(/.d+/ig, "")   7   8     return    9   10       { greeting.slice( 0, 1 ).toUpperCase() + greeting.slice(1).toLowerCase() }   11       {greeting.endsWith(",") ? " " : ", " }   12          13       { greeted }   14          15       { (silent)   16         ? "."   17         : "!"}   18   19       ;   20   21   }   
  通过使用Prettier,代码会变成如下的样子:function HelloWorld({   2     greeting = "hello",   3     greeted = ""World"",   4     silent = false,   5     onMouseOver,   6   }) {   7     if (!greeting) {   8       return null   9     }   10   11     // TODO: Don"t use random in render   12     let num = Math.floor(Math.random() * 1e7)   13       .toString()   14       .replace(/.d+/gi, "")   15   16     return (   17          22            23           {greeting.slice(0, 1).toUpperCase() + greeting.slice(1).toLowerCase()}   24            25         {greeting.endsWith(",") ? (   26           " "   27         ) : (   28           ", "   29         )}   30         {greeted}   31         {silent ? "." : "!"}   32          33     )   34   }    
  自动化测试和持续集成
  随着应用程序在复杂性和代码体量上的增长,我们再也无法单靠一己之力,手动测试目标应用中涉及到的所有内容。我们需要进行动作分解,通过自动化测试来完成单元测试、集成测试、端到端(E2E)测试、以及回归测试。
  由DevOps理念带来的持续集成(CI)实践,则能够确保您代码的主分支在理论上,一直处于可执行的状态。为此,您可以使用Travis CI、CircleCI、GitLab CI/CD、以及Heroku CI之类的服务,来为存储库设置持续集成。在此基础上,您可以通过配置CI管道,以便在每次提交后,运行查看器和自动化测试,进而在满足所有前续条件的基础上,实现代码合并。实践证明,相对于手动测试,自动化测试和持续集成都能够大幅减少整个开发周期的用时。
  IaaS和PaaS平台
  在如今云服务盛行的时代,我们要学会善用基础架构即服务(IaaS)和平台即服务(PaaS),来管理应用的基础架构。目前,常见的IaaS平台包括Amazon Web Services、Google Cloud Platform。而常见的PaaS平台包括:Heroku等解决方案。
  同时,通过使用诸如Amazon Relational Database Service(RDS)之类的托管数据库服务,您不必考虑数据库的升级、以及安全补丁的安装。而使用诸如Amazon Simple Notification Service(SNS,)之类的通知服务,您将不必自行构建发送电子邮件或短信等服务。
  此外,通过将应用程序部署到Heroku平台上,您的应用程序将随着使用量的增加,而能够实现水平方向和垂直方向的自动扩展。
  文章来源:https://developer.51cto.com/art/202012/636654.htm

时间的本质究竟是什么时间的本质蒋国良老蒋说,关于时间的真正属性,确实是一个难题。千百年来人们都将时间想象成为超越任何事物的更古不变的背景舞台。种种事件都在这个舞台上演出。十七世纪的英国大科学家牛顿,也不好的消息,地球正在逐渐变暗,未来地球会不会看不到仰光?近年来气候变化问题已经成为人们热议的话题之一,而且就今年入夏以来大自然给予人类的回馈来看,气候变化真的迫在眉睫。现在全球正在变暖,倡导爱护环境已然为时过晚,只有各国率先完成碳中和,最快热木星一年只有16个小时迄今为止科学家发现的最令人困惑的行星是热木星一个巨大的气体星球,大小与木星差不多,可以在10天内围绕着自己的恒星完成一次公转。科学家已经在太阳系外发现了约400颗热木星,但它们仍是天文学家发现了一颗超热的气态木星,它一年竟只有地球上的16小时天文学家发现了一颗超热的木星,它的轨道比任何已知的气态巨行星都要短。sourceEarthSky对太阳系外行星的搜寻已经发现了4000多个遥远的星球,它们围绕着距离地球数千光年的恒新的算法帮助天文学家发现了366颗系外行星,总数突破5000颗经过多年的辛勤工作,我们正在努力将已确认的系外行星总数(太阳系以外的行星)增加到惊人的5000颗。在这项工作中,一组天文学家在退役的开普勒太空望远镜的数据中发现了366颗以前未知的地球有没有可能就是个生命体,而人类像细菌一样生活在地球上?我们知道,一个再干净的人身上都会生活着有数以万亿计的细菌,比起人类1。7米的大个子,它们太渺小了,直径一般在0。55微米之间,比我们足足小了几十万倍,我们根本无法感知它们的存在。不看着地球忽忽悠悠,担心一下掉进深渊(宇航员翟志刚)人们住在地球上,天天随地球自转,迎来日出日落,送走白天,迎来晚上跟着地球围着太阳公转,春夏秋冬,周而复始。没人担心地球不稳,会不会掉进深不可测的宇宙陷阱中去。如果有此种想法,那才是杨利伟在太空听到神秘敲门声,13年后揭开谜底,幸亏他冷静一个人在宇宙会害怕吗?太空本来就是一个绝对真空的环境,可以说是听不到任何声音的,但就是在这样的环境下,中国第一位登上太空的宇航员杨利伟,却在飞船执行任务的时候,听到了一阵神秘的敲门2022年日食将上演!天狗食日为何会有人不愿看到,什么地方可见?来了!2022年又一个奇特的天文奇观要上演了,并且是相对比较罕见的天文奇观。当然,话说到前面,其实每个月几乎都有天文奇观,只不过大多数人都不太关注,只关注一些比较特殊的奇观。例如在今天观看2名俄罗斯宇航员在国际空间站外的太空行走宇航员将在俄罗斯的Nauka实验室和欧洲机械臂上工作。今天(4月28日),两名俄罗斯宇航员将在国际空间站外花费数小时进行太空行走,您可以在线观看他们在虚空中工作。俄罗斯航天局Ros迄今最完整鸭嘴龙胚胎被发现鸭嘴龙胚胎化石(左)与复原图。福建省英良石材自然历史博物馆供图中外学者在BMC生态与进化联合发表论文,描述了两件来自中国江西省赣州盆地白垩统河口组的恐龙胚胎。这组被称为英贝贝的标本
现代人亲眼目睹麒麟,山海经更有明确记载,麒麟神兽也许存在大标题麒麟是否真实存在麒麟在我国文化中是一种象征吉祥的神兽,很多古书中都有关于它的记载,但现实中并没有一种叫做麒麟的生物,麒麟是古人想象出来的吗?让我们走进今天的主题麒麟是否真实存仅少数人计划升级iPhone13?原因竟是这样国外媒体报道,上周进行的一项非正式民意调查显示,十分之一的iPhone用户将计划在今年秋天升级到iPhone13。不过这项调查还称,如果iPhone13具有吸引人的出人意料新功能,他对21世纪9大预言全部应验,对2021年的预言,能否实现?他是美国最有名的特异功能者,传说在睡眠中能预言世界万事,关于21世纪的九大预言一一应验,2021他又作出了什么预言?纵观世界历史,不难发现曾经出现过许多著名的预言家,他们一般都是神中国最大的皇陵日本?挖出晋代文物,墓主人是徐福?大标题日本最大陵墓埋葬的是中国人吗?受日本人世代祭拜敬仰的天皇陵墓中,竟然出土大量中国文物,难道墓主人真的是秦朝求仙出去的徐福?走近今天的主题中国最大陵墓在日本。大家好,欢迎来到我谷歌抨击欧盟反垄断监管机构!只因这张罚单太重?当地时间周一(9月27日)Alphabet旗下谷歌抨击欧盟反垄断监管机构无视自己强大的竞争对手苹果公司,要求欧洲第二最高法院撤销涉及Android移动操作系统的43。4亿欧元(约合国庆宅家玩游戏?试试这款电视的极致影音,自带身临其境的沉浸感令人心心念念的十一国庆长假终于快来了,想必有部分人已经做好了外出旅游的规划,但是十一长假期间各大景区的人满为患,还有疫情因素的影响,大部分人还是选择宅在家中好好休息。或是看部自己喜羊毛党车主福音不再?特斯拉将不再提供引荐奖励9月18日,有网友发现,特斯拉中国官网及美国官网均显示,自2021年9月18日起,将不再提供引荐奖励,这也意味着以往老车主的推荐码下单赠送的1500公里超级充电奖励将会被取消。据特受到诅咒的岛屿!百年来无数人诡异死亡,病毒导致?沃兹罗日尼亚岛的诅咒人迹罕至的小岛为何会出现生化武器,科学家进岛探险又为何会感染可怕天花,事件背后究竟隐藏着什么不为人知的秘密,大家好,欢迎来到我一个朋友说,关注我走进今天的故事。定制化的艺术产物!FindX3Pro摄影师版复古呈现,素皮成亮点此前网上曝光许久的FindX3系列定制版,终于在9月14日迎来了正式官宣,据OPPO官方表示,此次定制版的名称为OPPOFindX3Pro摄影师版,将于9月16日OPPO秋季新品发SpaceX首次将四名普通人送入太空!总费用为2亿美元当地时间周三(9月15日),美国太空探索技术公司SpaceX利用其载人龙飞船和猎鹰9号火箭发射了首次纯商业载人太空飞行任务,第一次将四名普通人送入太空。火箭助推器已经成功降落在Sp车机互融隐私安全专场全都安排上了,ODC21亮点提前知随着十月份的即将到来,各大手机厂商之间也进入了短暂的休战期,大家都开始潜心规划接下来的新机发布计划和产品规划。比如我们都比较熟知的OPPO,就即将在下个月27号举办一场OPPO开发