如何避免云计算的编码错误 十五招教你搞定

上周,我们介绍了如何对用于扩展云应用程序的代码进行评估。现在,我们要将目光投向那些编码及系统方面的改造策略,这些策略很可能随着时间的推移使系统变得愈发脆弱。由于CRM系统那看似永无休止的发展需求,我们代码的耐久度将成为能否长期顺畅运行这些系统的关键因素。

但在开始之前,我需要声明一点:我所举出的使用实例及条款只适用于Salesforce.com环境;其它应用环境及平台所使用的是不同类型的协议(甚至是不同的抽象结构),鉴于我对那些内容并不十分了解——因此请不要误以为我是个玩命帮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%的代码涵盖率。不要只为闲置代码搞演习,而应该对逻辑结果进行实际测试(通过正面及负面测试反复验证)。另外,不要把无操作状态填进代码中,借以人为抬高统计数据的覆盖率。

原文链接:
http://www.infoworld.com/d/cloud-computing/how-head-coding-errors-in-the-cloud-176632?page=0,0

(责任编辑:蒙遗善)

时间: 2024-09-22 23:21:41

如何避免云计算的编码错误 十五招教你搞定的相关文章

十招教你搞定WordPress优化

WordPress 是一种使用 PHP 语言和 MySQL 数据库开发的开源.免费的 Blog(博客,网志)引擎,用户可以在支持 PHP 和 MySQL 数据库的服务器上建立自己的 Blog. WordPress 是一个功能非常强大的博客系统,插件众多,易于扩充功能.安装和使用都非常方便.目前 WordPress 已经成为主流的 Blog 搭建平台. WordPress 的原版是英文版的,UTF-8 编码,http://www.aliyun.com/zixun/aggregation/29707

教大家十五招提升服务器安全等级

  安全十五招,具体介绍请看下文. 1.经常更改系统管理员密码.---->且密码最好是大小写都有 2.定期更新系统补丁.---->开启自动更新,并设定到晚上重启. 3.检查系统是否多出超级管理员,检查是否有帐号被克隆在"开始">运行中输入"cmd">在输入 net localgroup administrators 4.在"开始">运行中输入"msconfig"检查随机启动的程序和服务,关掉不必要

五招教你优化网站标题 流量翻番

笔者做SEO时间也有两年了,长期观察发现:80%的网站标题很垃圾,15%的标题勉强,只有5%的标题比较优秀,让人侧目.为什么会是这个结果? 因为我们的网站SEO负责人没有对标题重视!但其实,标题不只是一排文字而已,标题是窗口.是广告,是吸引用户点击的最基本入口!辛辛苦苦把排名做上去, 却因为标题差而没有点击和流量,这样的结果你希望吗?笔者以经验总结五招教你优化网站标题,流量翻番. 1.长度 事实证明,长标题比短标题更易吸引用户.有些企业为了突出自己,标题很短,10个字以内,但其实,如果你不是淘宝

谁说论坛外链不好做 五招教你玩转论坛

众多站长们在做网站优化当中,都会将论坛作为一个外链平台,然而,我们不难发现,多数站长都只是通过签名方式来留下自己网站的连接,且不说签名是否还有若干年前那么大的作用,我们先来探讨下是否还有其他方式呢?比如在论坛的主题帖上留下自己的网站连接? 可能很多站长都认为论坛主题帖外链不好做,毕竟现在人气好一点的论坛,都有自己的版主和管理员,一旦出现带有外链的帖子,就可能马上被删除.然而事无绝对,其实只要用心做,论坛外链也是非常好做的. 谁说论坛外链不好做?五招教你玩转论坛! 1.大大方方留链接   很多SE

让电脑启动更快的十五招

嫌脑启动太慢是每个脑迷的共同心病,让脑启动更快是大家的共同心愿,本人在使用脑过程中总结了加快脑启动速度的"十五式",与您分享. 一.BIOS的优化设置 在BIOS设置的首页我们进入"Advanced BIOS Features"选项,将光标移到"Frist Boot Device"选项,按"PageUP"和"PageDOWN"进行选择,默认值为"Floppy",这表示启动时系统会先从软驱

社会化媒体营销:五招教你玩转微博营销活动

中介交易 SEO诊断 淘宝客 云主机 技术大厅 时下,随着web2.0的发展,多种互动型社会化媒体也顺势崛起,08年风起的SNS社区到09年云起的微博平台,无论是大企业还是小品牌都已经将这些媒体作为了企业营销的必争之地.由于微博的互动性更强,一时间大大小小的品牌都在微博(主要是新浪和腾讯)上建立账号,尝试各种微博活动,但很多则是投入产出不能成正比.那么如何才能做好微博营销活动呢?本文将结合笔者自身的观察研究和实战经验教给大家搞火你的微博活动五招. 第一招:平台选择是基础 目前国内比较受欢迎的应该

3.15维权日 五招教你辨别真假云计算

即付即用模式是云计算的特征 随着2012年云计算在生活中被广泛应用,云计算早已经融入http://www.aliyun.com/zixun/aggregation/32533.html">我们的生活中,但是对于国内云计算的发展仍然存在很多问题,一年一度的3.15即将到来,在这个特殊的日子里,让我们一起来关注如何辨别真假云计算,揪出"冒牌云服务",针对用户在选择云计算平台的时候,需要注意的是需要具备以下五个特征,才是云计算平台. 首先,云计算是即付即用的模式,云系统针对服

三分钟、五步骤,轻松搞定视频直播

直播系统的搭建   图一 直播系统搭建的五大步骤 典型的直播系统的搭建分为五个步骤:第一步需要先申请一个域名:第二步需要进行配置直播:第三步在配置直播后,获取推流地址:第四步,进行推流:最后一步播放.下面来具体分析下每一步的操作细节: 图二 域名申请 域名申请:在阿里云官网上可以通过外网完成域名申请,同时还可以进行实名认证.但域名申请不一定要通过阿里云实现,很多的第三方服务商同样可以提供相同的服务.   图三 服务开通 当域名申请成功后,使用者就可以开通直播服务,通过阿里云,使用者可以一次开通六

病毒化营销:五招教你做出大热视频

中介交易 SEO诊断 淘宝客 云主机 技术大厅 不见得非要做出什么病毒化传播的效果,但这五个小窍门足以让目标用户欣赏你做的视频. 文 | Ann Handley 剃须刀品牌Dollar Shave Club推出了一段搞笑视频,上线两天便赢得了1.2万名新顾客.视频中,CEO亲自上阵"数落"某大品牌剃须刀售价20美元,有19美元给了品牌代言人费德勒;然后他以挑战者姿态自荐1美元/月的剃须刀.视频上线两天便赢得了1.2万名新顾客.你一定也很想制作一个令所有人津津乐道的视频,吸引全球网民眼球