小编带你解说减少云错误的妙招

我们介绍了很多如何对用于扩展云应用程序的相关代码评估。目前,我们要看向那些编码以及系统方面的创新策略,这些策略很有可能随着时间的推移使系统变得更加的不稳定。从CRM系统上观察,那看似永无休止的发展需求,对于我们代码的耐久度增强将成为我们能否长期顺畅运行这些系统的重要组成部分。

但在此之前,我需要讲明一点:我所举出的使用实例及条款只适用于Salesforce.com环境;其它应用环境及平台所使用的是不同类型的协议,因为我对那些内容并不十分了解,所以请不要误以为我是个玩命帮某些网站造势。

声明式开发与编程之间的利弊关系

云计算基础应用程序更偏爱供应商所说的“声明式开发”,因为这种方式明确、易于学习且在SaaS环境下更易于控制。大多数云计算应用程序会带来繁重的信息组验证规则、信息组及列表约束以及对象方面的工作流程。过去这种方式颇为有效,因为它提供了数量惊人的处理能力及功能。

但当我们需要向其中添加新代码,尤其是会创建新记录的代码时,麻烦就会随之而来。在开发新的触发器、类或者集成化“监听”服务时,编码者很可能会在特定的开发环境或者沙箱环境中进行工作,而这些环境的配置很可能与生产系统本身并不匹配。当代码被加入产品时,各种错误状况往往层出不穷——而且通常无法在开发环境中进行返工。遗憾的是,错误信息不仅对用户来说非常讨厌,甚至还不能为故障排查提供足够的线索。

第一组提示:

1.确保开发工作在最新更新的“沙箱”环境中完成,这样开发人员就不会头痛于其与生产环境之间的配置差异了。

2.在可能的情况下,在沙箱中最大程度启用集成适配器及其它插件,这样一来开发人员就可以看到状态变化(特别是从外部来源所‘映射’得出的错误状态)所引起的后果。

3.一旦大家开始针对对象开发扩展及功能,务必删除全部验证规则并在低级代码中重新加以实施,这样我们才能预见可能出现的陷阱及控制误差条件。

4.出于同样的目的,大家要把任何将会引发信息组更新的工作流部署于低级代码当中。

5.创建一套管理规则,并保证其难以创建新的验证规则或是能引发信息组更新的工作流。

6.必须保证代码能够为信息组或是约束条件列表提供保护,对值的预检查将帮助我们规避棘手的难题。

7.通过检查确保每个信息组为NULL,并且每个集、列表或者映射都为空,之后大家才能尝试在逻辑关系中加以使用(没错,甚至在一切错误检查逻辑关系中也是如此)。

8.正如之前提到的“云计算中的错误处理”话题,为实时掌握所有应用程序错误编写类,并将其作为消息发送至云计算中的集中式错误日志服务处。

尽可能以列表为核心

大家都知道,在类或触发器当中对值进行硬编码不是什么好主意,因此我们至少应该将这些参数部署于每个模块的声明区段中。或者更进一步,将这些变量移动到查找列表或者资源文件之类每当代码运行都会加载的部分里。

尽管数据库越来越标准化,而且几乎一切内容都可以被添加进查找列表当中,这种做法仍然有些过于抽象且宽泛。过度追求指针引导使得任何除原始开发者之外的人士很难理解,并且会造成应用程序运作缓慢(甚至会影响到云环境的调速器限制)。因此以下提示就变得非常重要:

9.务必将配置参数(例如选择列表的赋值、获许状态或者配置选项等)添加至查找列表中。务必在每个查找列表中包含批注行,并保证他人能够通过阅读这些备注理解列表及值的语义、行为以及更新记录。如果大家的云系统能够支持,还应将该列表保存在内存(‘自定义设置’)中,以避免由磁盘读取带来的高延迟。

10.务必将这些查找列表置于配置控制之下。至少要锁定访问行为,并确保此类列表得到定期备份。

11.不要懒于为列表及信息组命名——一时轻松往往会在故障排查中给你带来巨大的麻烦。

云计算要求敏捷、XP或者TDD(即时分双工)类型的编码风格

我不太了解那种排除了大型模块、瀑布式开发或者大量嵌套/分支化内容的云环境是个什么样子,不过大家应该偶尔会碰上这种实例。不过为了一劳永逸,我们必须抛弃这样的做法,因为它完全不利于打造牢固、持久的代码。

12.对象不只是针对UI。它们的存在是为了支持可理解性、重调用及代码重构。不过千万别犯傻;对象对可理解性的支持是一切的前提——失去了可理解性,其它各种益处都将烟消云散。

13.保证模块小巧、简单且可分离。仔细阅读KISSS原则,该原则同样会使测试及调整工作更为轻松。

不要躁进,关注平台的局限

云计算平台会给特定类型的执行内容(例如数据库查询或者内存内列表创建等)带来局限。因此如果大家是第一次开发功能性产品,必须确保自己的首个发行版本不能超过资源指标上限的50%。因为不久之前大家必然会面临新的需求及应急手段,这些都会带来更大的资源消耗量。

14.尽量使用内存缓存中的数据(例如‘bulkification’以及‘动态SQL’),而不是每次都劳烦数据库。多利用未来及成批的类来处理大量工作负载与数据集。

15.除非有什么硬性设计原因,否则必须确保我们的测试代码获得100%的代码涵盖率。不要只为闲置代码搞演习,而应该对逻辑结果进行实际测试(通过正面及负面测试反复验证)。另外,不要把无操作状态填进代码中,借以人为抬高统计数据的覆盖率。

时间: 2024-02-19 10:10:09

小编带你解说减少云错误的妙招的相关文章

小编带你解说比特币之父之谜

"比特币之父身份曝光"成为了美国各大科技网站的头条新闻--<新闻周刊>(Newsweek)的记者莉亚•麦克格拉斯•古德曼,进行了为期两个月的调查之后,将比特币发明者的身份锁定为一位名叫作中本聪(Satoshi Nakamoto)的64岁日本裔美国男子.也就是说,其实比特币的算法发明者在网上使用的化名"中本聪"其实是就是他本名! 麦克格拉斯•古德曼采访了中本聪的妻女以及与他有过密切交流的那些比特币专家,然后勾勒出这样的一个中本聪: -他在1949年生于日本

小编带你看移动电源二:移动电源容量怎么看?

目前移动电源厂商都会在产品包装上醒目的注明其容量.但是,标称容量只是移动电源内部电芯的容量,并不是其可以实际输出的额定容量.想要解释明白这个问题,我们首先需要了解表示电池容量的毫安时(mAh)和表示电流的毫安(mA),以及表示电量的瓦时(Wh)三个基本单位.先来说说毫安时(mAh),这个单位可以很方便的计量电池的使用时间.比如一个容量为5000mAh的电池在理想状态下能够以500mA恒流放电下,持续10小时的供电能力.瓦时(Wh)是电量值,它跟毫安时之间的换算还需要知道电压值.比如电压为3.7V

小编带你看移动电源四:如何开启移动电源“飞行模式”?

民航局在<关于民航旅客携带充电宝乘机规定的公告>中规定,旅客携带充电宝乘机时,充电宝只能在手提行李中携带或随身携带,不能托运.同时,充电宝额定能量不超过100Wh(瓦特小时),无需航空公司批准:额定能量超过100Wh但不超过160Wh,经航空公司批准后方可携带,但每名旅客不得携带超过两个充电宝.目前市面上品牌移动电源的容量上限大概是20000mAh,换算下来是74Wh.所以我们能买到的正规移动电源一般都是符合乘机规定的,这点不用过多担心.需要留心的是,如果移动电源没有明确的外标容量可是会被安检

小编带你看移动电源三:转换率对于移动电源有多重要?

移动电源不能输出 100% 有效容量,主要是存在三个方面的损耗,一是电源主板的升压电路,二是传输线材的线阻,三是手机本身充电时的损耗,其中升压电路的损耗尤其突出.移动电源是将内部电芯的电压转换成5V输出.这个过程必须要经过电路板上的升.降压以及稳压电路才能够实现,电子元器件也会相应的损耗掉一部分电能转换成热量.所以转化率是影响移动电源实际充电效果的重要指标,在容量相同的情况下,转化率越高意味着能够提供更多的电量.一般转化率在85%以上才称得上是靠谱的产品.总的来说,使用高电压正极材料的电池,PC

人多奖多美女多小编带你逛遍电博会网易展台

10月30日至11月2日,由杭州市人民政府.商务部外贸发展事务局.浙江省商务厅共同主办,杭州市经济和信息化委员会承办的"2014中国(杭州)国际电子商务博览会"在世贸国际展览中心举办.本届博览会坚持以互联网新思维搭建国际电子商务交流大平台,展示电子商务发展的新体验.探索新模式.研究新趋势.微软.京东.阿里.网易和绿城电商等100余家国内外知名电商企业参展,100位副总裁以上高管出席展会.此外,展会还邀请到境内外客商10万人,其中浙江省内7万人,全国范围2万人,境外客商1万人,共聚一堂,

小编带你解读2015年的公有云安全情况

近日,云服务商UCloud安全中心公布了<2015公有云安全年度报告>,报告对全年DDoS攻击情况,漏洞遭受攻击情况.以及云安全发展趋势.年度安全事件等情况等进行了总结和披露.从这份报告中,我们能够了解过去一年公有云市场的安全情况.通过对过去一年的安全问题总结,我们就可以对2016年的安全问题进行针对性地解决. 对于公有云的安全,基本上可以分为两块:DDoS攻击和漏洞攻击.这也不难理解,毕竟公有云是暴露在互联网上,所以面临的网络安全也是显而易见的. DDoS攻击分析 DDoS攻击一直是互联网毒

QQ也有聊天机器人 小编带你与小Q玩

QQ机器人是腾讯陆续推出的人工智能聊天机器人的总称,目前已经推出小Q妹妹来陪大家聊天,她的QQ号是615050000 . 直接加她为好友,你就可以随时和她聊天了. 小Q妹妹聪明好学,你可以教她说话,也可以请她帮忙查询邮编.手机号,或是成语解释.成语翻译等等. 和小Q聊天有什么好处呢? **她会永远有耐心的陪您聊天. **可以教她说话,把自己的经典对白通过小Q,告诉每一个人. **随时随地的小工具,比如手机号码归属地查询,科学计算器等,方便快捷. **你教给小Q妹妹的每句话,以及和她聊的每句话,小

小编教您解决win7系统连接Internet提示null错误的问题

在使用Acer笔记本电脑系统的时候,有时会出现连接无线网络连接无法共享的问题,会遇到网络连接错误的情况,并且出现"internet连接共享被启用时,出现了一个错误(null)"的错误提示.这时候我们该怎么处理呢?现在小编就教大家怎么应对这种问题. 1.首先大家把网络防火墙及杀软等软件关闭掉. 2.接着我们使用鼠标点击"开始--搜索",输入"服务",进入计算机的服务选项. 3.在打开的服务窗口里面,我们可以找到并右键windows firewall

IE运行慢?小编帮你清缓存,提速度

虽然现在有很多种的浏览器供大家选择,比如:火狐.360.百度等,不过还是有很大的一部分用户还使用着微软自带的Internet Explorer即IE,这个跟现在虽然有win7.win8系统,但还是有很大一部分的用户选择使用windows xp系统一个样.我们在使用Internet Explorer的过程中,有时候会遇到Internet Explorer性能的问题,比如收到错误信息或停止响应等由设置引发的IE临时文件或其他缓存信息损坏,这时候应该怎么办呢?下面小编就以雨林木风Ghost xp系统为