服务器防护_cc如何防御_方法

服务器防护_cc如何防御_方法

代码审查最佳实践PalantirfollowMar 5,2018·12分钟阅读

基于XKCD#1513,代码质量,ddos云防御便宜,根据CC BY-NC 2.5改编和复制。

互联网提供了大量关于代码审查的材料:关于代码审查对公司文化的影响,关于正式安全审查,更短的指南,更长的检查表,人性化审查,首先进行代码评审的原因,最佳实践,更多的最佳实践,关于代码评审捕获bug的有效性的统计数据,以及代码评审出错的例子。哦,当然还有书。长话短说,这篇博文展示了Palantir对代码审查的看法。对同行评议有着深厚文化底蕴的组织可能希望咨询Karl E。在尝试遵循本指南之前,Wiegers关于人性化同行评议的优秀文章。

本文摘自我们的Java代码质量工具链基线的最佳实践指南,涵盖以下主题:

为什么,什么,何时进行代码评审准备代码评审执行代码评审代码评审示例

动机

我们执行代码评审(CRs)是为了提高代码质量,并从对团队和公司文化的积极影响中获益。例如:

提交人的动机是由一组审查人来审查变更请求:提交人倾向于清理松散的结尾,整合TODO,并通常改进提交。通过同行认可编码专业知识是许多程序员的骄傲。分享知识在几个方面有助于开发团队:-CR明确地向团队成员传达添加/更改/删除的功能,团队成员随后可以在完成的工作的基础上进行建设。-提交者可以使用评审员可以学习的技术或算法从…起更一般地说,代码评审有助于提高整个组织的质量标准。-评审员可能掌握编程技术或代码库方面的知识,这些知识有助于改进或整合变更;例如,其他人可能正在同时开发类似的功能或修复程序。-积极的互动和沟通加强了团队成员之间的社会联系。代码库的一致性使代码更易于阅读和理解,有助于防止bug,代码片段的易读性对于作者来说是很难判断的,而对于没有完整背景的评审员来说则很容易判断。易读的代码更具可重用性、无错误性和前瞻性。对于具有外部视角的批判性评审人员来说,偶然错误(例如,打字错误)以及结构错误(例如,死代码、逻辑或算法错误、性能或架构问题)通常更容易发现。研究发现,即使是简短和非正式的代码评审也会对代码质量和bug频率产生重大影响。法规遵从性和监管环境通常需要评审。CRs是避免常见安全陷阱的好方法。如果您的功能或环境有重要的安全要求,它将受益于(并且可能需要)您当地的安全守护神的审查(OWASP的指南就是一个很好的例子)。

审查内容

这个问题没有永远正确的答案,每个开发团队都应该同意自己的方法。一些团队更喜欢审查合并到主分支中的每个变更,而其他团队则有一个"琐碎"阈值,在此阈值下不需要审查。权衡是在有效利用工程师(包括作者和审阅者)的时间和保持代码质量之间。在某些监管环境中,即使是微不足道的更改,也可能需要代码审查。

代码审查是无类别的:作为团队中最高级的人员并不意味着您的代码不需要审查。即使在极少数情况下,代码是完美的,评审也提供了一个指导和协作的机会,并在最低程度上使代码库中对代码的理解多样化。

何时评审

代码评审应在自动检查(测试、样式、其他CI)成功完成后进行,但是在代码合并到存储库的主线分支之前。我们通常不执行从上次发布以来的聚合损坏的正式代码审查。对于复杂的变更,应该合并成主线分支作为单个单元,但是太大,不能适合一个合理的CR,考虑堆叠的CR模型:创建主分支特征/大特征和多个次级分支(例如,feature/big feature api、feature/big feature testing等),每个都封装了功能的一个子集,并针对feature/big feature分支分别对代码进行了审查。一旦所有二级分支合并到功能/大功能中,创建一个CR,将后者合并到主分支中。

准备代码供审查

作者有责任提交易于审查的CR,以免浪费审查人员的时间和动机:

范围和大小。变更应该有一个狭窄的、定义良好的、自包含的范围,并且要覆盖所有内容。例如,ddos攻击种类和防御方法,更改可能实现新功能或修复错误。较短的变更优先于较长的变更。如果CR对超过5个文件进行实质性更改,或者花费超过1到2天的时间来编写,或者花费超过20分钟的时间进行审查,则考虑将其拆分为多个独立的CRS。例如,开发人员可以提交一个更改,该更改在接口和文档方面定义了新功能的API,nginxcc攻击防御,第二个更改添加了这些接口的实现。仅提交完整的、自我审查的(由diff)和自我测试的CRs。为了节省审阅者的时间,在分配审阅者之前,测试提交的更改(即运行测试套件),并确保它们通过所有构建以及所有测试和代码质量检查(本地和CI服务器上)。重构更改不应改变行为;相反,行为更改应该避免重构和代码格式更改。这有很多好的理由:-重构更改经常涉及到许多行和文件,DDOS防御能力,因此会被较少关注地审查。非预期的行为更改可能会泄漏到代码库中,而没有人注意到。-大型重构更改打破了cherry picking、Rebased和其他源代码控制魔法。撤销作为存储库范围的重构提交的一部分引入的行为更改是非常繁重的。-昂贵的人工审查时间应该花在程序逻辑上,而不是样式、语法或格式争论上。我们更喜欢使用自动化工具(如Checkstyle、TSLint、Baseline、Prettier等)来解决这些问题。

提交消息

以下是遵循广泛引用标准的良好提交消息示例:

热门推荐
  • 云盾_ddos高防ip如何使用_方法

      装有广告软件的假冒CCleaner应用 最近,Avast发现一款新的假冒移动CCleaner应用已在日本高防服务器百度应用商店发布(百度手机......

    05-17    来源:长虹华伟

    分享
  • 高防cdn_香港高防云服务器_快速解决

      新闻要闻McAfee实验室预测2017年将有14项安全发展确定了未来四年可能出现的三个法律障碍、10个供应商行动和11个云威胁对未......

    03-07    来源:长虹华伟

    分享
  • 云盾高防采集_ddos防攻击100g价格_如何防

      JimMetzler是一位杰出的研究员,也是Ashton Metzler&Associates的联合创始人,也是一位特邀博客写手。许多人把NFV与服务提供商联系......

    04-18    来源:长虹华伟

    分享
  • 网站防护_黑盾云_怎么防

      总部位于曼彻斯特的IT安全专家Avecto的七名员工成功地骑自行车到另一个海岸,以帮助该公司的慈善合作伙伴圣安医院(St ......

    10-11    来源:长虹华伟

    分享
  • ddos高防_珲春高铁到防川风景区_方法

      在IT领域,我们的工具是笔记本电脑、平板电脑和智能手机,我们的表演场地包括数据中心和服务器机房。想象一下,在这个......

    06-12    来源:长虹华伟

    分享
  • ddos防御工具_cdn防御ddos效果_打不死

      如果你参加过在维加斯举行的黑帽会议,那么欧洲版就差不多了,除了小得多。我有没有提到它小得多?营业厅由包括Rapid......

    02-28    来源:长虹华伟

    分享
  • ddos防火墙_ddos流量攻击_解决方案

      社交网络中的账户,尤其是那些拥有大量追随者的账户,对网络犯罪分子来说是一个美味的小吃——如果保护不力,黑客入侵......

    01-27    来源:长虹华伟

    分享
  • 云盾_网站ddos防护_免费试用

      脸谱网linkedin推特阅读时间:约5分钟。多年来,那些我们称之为"流氓安全产品"的蛇油安全程序的制造商们花了相当大的精力......

    03-30    来源:长虹华伟

    分享
  • 免备案高防cdn_服务器防断电设备_解决方

      Websense很高兴地宣布,随着CSA STAR自我评估的完成,它将被纳入云安全联盟(CSA)STAR注册中心。CSA安全、信任和保证注册中心......

    04-25    来源:长虹华伟

    分享
  • 云防护_国外高防_3天试用

      2014年,Illumio推出了Adaptive Security Platform(ASP),该平台具有分布式、基于主机的实施,包括所有数据中心和云计算环境的实......

    04-16    来源:长虹华伟

    分享
返回列表
Ctrl+D 将本页面保存为书签,全面了解最新资讯,方便快捷。