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

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

  在如今全球疫情持续蔓延的情况下,人们往往希望通过各种生产力的增强方式,来替代当前无法面对面开展高效协作的状况。在本文中,我们将和您讨论五种有助于软件工程师和技术公司提高工作效率的实用方式,其中包括:设计系统(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

滴滴出行即将登陆俄罗斯,中国打车平台走出国门俄罗斯卫星网报道,俄罗斯直接投资基金总裁基里尔德米特里耶夫在利雅得举行的未来投资计划论坛上表示,中国的打车平台滴滴出行很快将登陆俄罗斯市场。德米特里耶夫此前透露,由俄直投与中投公司俄罗斯隐藏蕴含数万亿克拉钻石,是现世界钻石储存量十倍的陨石坑钻石是指经过琢磨的金刚石,并不是直接的金刚石,是通过金刚石打磨而来的。一堆原石最多只有20能打磨,形成精美的钻石金刚石是一种天然矿物,是钻石的原石。简单地讲,钻石是在地球深部高压高中国开始提速了!邀请俄罗斯加入联合科研,留给美国的时间不多了我们都知道最近一段时间对于中国来说其实并不是那么的轻松,因为美国对于中国的打压从未中断过。而与中国同病相怜的还有邻国俄罗斯,一直以来俄罗斯遭受北约和美国的制裁就从未停止过,特别是现年轻队员经验不足,中国体操女团获得第七名,俄罗斯夺冠北京时间7月27日晚,东京奥运会体操女子团体决赛正式开始,本次比赛,俄罗斯队以169。528分夺得冠军,美国队166。096分获得亚军,而中国队表现相对没那么惊艳,排名第七。不过体还在玩联名?踏破边界的服装品牌这波操作太上头了当下,跨界合作屡见不鲜,众多品牌在跨界联名这件事上越玩越嗨,但靠新奇吸引眼球始终难长久。仅一味跟风,不关注品牌本身的调性,反而会使消费者产生审美疲劳。因此,一些品牌不再局限于联名,德国人寿命越来越长,原因竟然是这样!记下来,长10岁全球人均寿命71。4岁中国人均寿命76。1岁德国人均寿命81岁!德国的人均寿命整整超越全球人均寿命10岁!2016年5月份,世界卫生组织在日内瓦发布的2016世界卫生统计报告显示,100年建设改变中国连接960多万平方千米的陆地国土看似面积广大,山地与丘陵却占60以上。四大高原四大盆地和三大平原镶嵌在纵横交错的山地中,形成各自独立的地理单元,彼此连接困难。巨大的青藏高原约占我国陆地英国闪电P。1B战斗机20世纪50年代初期,英国电气公司研发了一款代号为P。1的超音速试验机。尽管P。1只一架试验机,但却是世界上第一种能够进行超音速巡航的飞机,这引起了英国军方的注意。1954年,英国华为Mate40系列续航强大,网友居然有人不识货?近日,华为高调的发布了华为Mate40系列,因为该机具备超强续航超低功耗,同时游戏性能也非同凡响,为此我也早早的入手了华为Mate40Pro,下面就让我来为大家全面介绍一下这款新机华为MateX2性能强大,网友直呼不愧是折叠屏旗舰手机随着科技的进步,折叠屏手机越来越受广大群众的喜爱,经历三年的沉淀,华为正式发布新一代折叠旗舰MateX2。该机交互能力强大,与众多APP有着深度的合作,进而提高办公和娱乐效率。而且俄高层评论龙飞船发射这场战争是他们的,而不是我们的2020年6月8日,在亿万富翁埃隆马斯克的SpaceX公司制造的载人龙飞船成功发射前往国际空间站9天后,俄罗斯航天公司(Roscosmos)局长德米特里罗戈津在福布斯专栏文章中首次
恐怖海底9万米大西洋海底9万米啊有多恐怖海底最深有若干米地球上最深的海疆就是马里亚纳海沟,为了探讨海底最深若干米,各国的科学家专门发明了一些探测装备,然后去测量海底到底有多深,据无关数据统计,今美新飞船发射成功居然有俄罗斯的功劳!俄航天局长我们已不干了据美联社于2022年5月21日报道,波音的星际航线OFT2飞船成功对接于国际空间站的和谐号节点舱(Harmony),为国际空间站送去了226千克的物资和测试设备(主要是食物和一些出联合国表示,地球海洋已达到有史以来最热和最酸的水平世界气象组织表示,去年海洋达到了有记录以来最热和最酸的水平,这标志着人类引起的温室气体排放是导致气候变化的主要因素。这些发现只是一份年度报告的一部分,该报告详细说明了气候变化的四个詹姆斯韦伯太空望远镜即将开始探索太阳系随着NASA的詹姆斯韦伯太空望远镜(JWST)进入调试其科学仪器的最后阶段,JWST团队也开始了对该望远镜的技术操作工作。当望远镜在太空中移动时,它将不断发现遥远的恒星和星系,并以有一颗冷酷的心人人能科普,处处有新知今天我们来聊聊八大行星中的一颗,天王星!在八大行星中,假如把木星称为热行心的话,那么天王星就是冷行星,那因为他有一颗冷酷的心。虽然天王星与太阳距离要比海王星近组图历两年半波折波音飞船成功对接空间站2022年5月19日,佛州卡纳维拉尔角,联合发射联盟的阿特拉斯五号火箭将波音的星际航线飞船送入轨道。在过去两年半曾经遭受两次失败的发射经验后,波音CST100星际航线(Starli我国成功发射3颗低轨通信试验卫星北京时间2022年5月20日18时30分,我国在酒泉卫星发射中心使用长征二号丙运载火箭,采取一箭三星方式,成功将3颗低轨通信试验卫星发射升空。卫星顺利进入预定轨道,发射任务获得圆满南大洋年吸碳量,约比释放量多5。3亿吨,地球会大降温吗?地球现在面临着很大的危机,资源紧缺,温室效应人口增长等都给我们带来了沉重的伤害,其中温室效应问题最为显著。冰川融化你们知道温室效应会造成哪些问题吗?气温升高,冰川融化,严重破坏生物这颗行星自带超强光环自带光环的行星咱也知道一些,比如土星可你以为这样就算自带光环?只能说你太年轻了。接下来这颗行星的光环,绝对让你叹为观止。来看什么?这是什么鬼?这是光环??你没看错,这颗行星编号是J费米悖论的真相科学家费米说,宇宙那么大,为什么没有外星人来访地球呢?要了解费米悖论的真相,首先要了解科学不是万能的。为什么科学不是万能的?因为科学的作用是发现和利用资源。科学无法创造资源,科学不量子纠缠的本质竟如此简单无限的宇宙中可以发生量子纠缠的量子现象十分普遍,而这些无穷大的宇宙中的量子纠缠现象,从单方面来讲,若不发声纠缠对宇宙都可以形成巨大的震动,但是面对这样如此巨大的震动,宇宙竟然如此的