什么是代码夹带

代码夹带是一个并不陌生的词组。一般的理解是在正常的代码中夹带入别有用心的其它代码。

通过网上搜索,得到如下:

其通常在计算机正常的程序传播当中将额外的一段代码夹带着,对计算机的网络安全造成破坏。从表面上看来,其不会对计算机进行主动攻击,但是只要安装了正常程序,而该程序...

知道任何保密条款也无法阻止员工夹带代码出去。您必须保证您是诚实的,稳定的;由于我们的程序非常复杂(仅PHP文本就3G),资深的程序员需要半年,才能了解代码的结构及..

但某些组织里还有另外一种情况也被称为代码夹带,这种情况是当前版本里多了当前版本不需要的代码,这些代码对当前版本没有任何用处,可能影响当前版本的功能和性能等,这种情况也被称为代码夹带。 发生这种代码夹带的典型场景是某些功能开发了一半,但是要发布了,这样未完成部分功能对应的代码就是夹带的代码。

为了避免这部分未完成代码的干扰,需要采取屏蔽手段,以让它们不干扰已经完成的部分。

显然这两种代码夹带是截然不同的。 前一种是恶意的,违反法律的;后一种几乎是软件开发中常见的现象。

所以,将后一种称之为“代码夹带”是过于危言耸听了。

如何称呼后一种代码夹带

首先,是不是修改掉这危言耸听的说法,比如冗余代码?  貌似也不合适,冗余代码往往是指留下来的包袱。   
待完成代码是不是更加合适?  这个说法更加正能量啊!

如何处理后一种代码夹带-待完成代码?

当前常见的有如下几种方法:
1,多分支 , 给每块待做特性(新功能,优化等)单独拉出分支,当分支完成开发,再合并到主干。
2,特性开关,仍然在主干或者单分支上进行开发,利用特性开关来调试和发布,当需要发布,但某特性还没有完成时,把开关关闭;完成后打开。
     特性开关大而化之有2大类:1,编译前调节(加开关,或者注释掉调用入口)   2,编译后调节。    
     一般的采用编译后调节,典型的开源软件是Toggle,不少组织自行开发了自己的特性开关。 
3,结合灰度发布的特性开关, 这个就复杂了。各个不同beta版本给到特定范围的用户来用,灰度加特性开关一起用,一般组织玩不转。先玩好上面的再说吧!但移动互联网或者互联网2.0时代,这几乎已经是明朗的趋势。对一些组织而言,市场会逼着玩的,否则就玩完了。

小结

1,后一种代码夹带不是洪水猛兽,也许不必使用“代码夹带”这样吓人的说法。
2,后一种代码夹带不妨改称为含有待完成代码,值得积极的应对,而不是一杆子打死。
3,对待完成代码,已经有不少可供参考的方法,值得探索。

代码夹带是洪水猛兽吗?相关推荐

  1. 关于软件测试的几点反思—测试工作的三个阶段

    上一篇里我们讨论了 测试的必需性,如果大家目前还在公司里做着测试的 工作,那就说明还是落在必需的范围里面,或者至少一段时间是吧.那接下来我们看下既然需要做测试,需要做哪些事情. 基于我自己的一些理解和 ...

  2. 软件测试工作的必会的三个阶段!

    首先我想先从一个例子开始,一个现实生活中的例子.对于一个城市,假设我们的工作目标是提升环境的质量,减少垃圾.那么我们可以做什么? 首先,我们可以请很多环卫工人,出去打扫各个街道,这个马上就有了效果,环 ...

  3. 关于软件测试的理解和反思 - 测试工作的三个阶段

    转自:https://blog.csdn.net/superqa/article/details/21485737 上一篇里我们讨论了测试的必需性,如果大家目前还在公司里做着测试的工作,那就说明还是落 ...

  4. 【转载】关于软件测试的几点思考

    无意中在csdn博客上看到邱鹏写的一篇博客,关于关于软件测试的几点反思 - 测试工作的三个阶段,发现和自己的想法不谋而合,整个思考模式和方向和我在某公司实习的时候是一样的,百度之,真的是该公司的高级测 ...

  5. 关于软件测试的几点反思 - 测试工作的三个阶段

    2019独角兽企业重金招聘Python工程师标准>>> 上一篇里我们讨论了测试的必需性,如果大家目前还在公司里做着测试的工作,那就说明还是落在必需的范围里面,或者至少一段时间是吧.那 ...

  6. 隐私合规:收集SDK部分介绍

    com.meizu.cloud.pushsdk.SystemReceiver 魅族推送服务是由魅族公司为开发者提供的消息推送服务,开发者可以向集成了魅族 push SDK 的客户端实时地推送通知或者消 ...

  7. python爬取小说代码bs4和_使用python爬虫,requests(夹带BeautifulSoup的使用)爬取网络小说...

    由于本人也是初学者,算是小白一枚,这里跟大家分享一下爬取网站上的小说的过程. 第一步我们需要导入我们需要的模块,比如requests,BeautifulSoup,还有正则模块re. 代码如下:impo ...

  8. PHP的SPFA,由于是之前的c代码,风格你懂的........(夹带php队列实现)

    为什么80%的码农都做不了架构师?>>>    <?php echo "<meta http-equiv='Content-Type' content='tex ...

  9. 9个必须时刻警惕的Linux命令代码

    Linux shell/terminal命令非常强大即使一个简单的命令就可能导致文件夹.文件或者路径文件夹等被删除. 在一些情况下Linux甚至不会询问你而直接执行命令导致你丢失各种数据信息. 一般来 ...

最新文章

  1. you need python_Life is short,you need Python——Python序列(列表)
  2. Python开发入门与实战1-开发环境
  3. 58到家运维专家杨经营:业务上云后运维平台的演进之路
  4. V8 JavaScript 引擎 6.6 发布,异步性能大幅提升
  5. springboot之设置mybatis打印sql输出
  6. (转)黑石帝国崛起的30年
  7. 前端工程师面试时自我介绍该如何做?
  8. 干货 | 什么是ABCDE轮融资?
  9. linux系统宝塔安装nodejs,基于debian宝塔面板安装nodebb – 一款基于Node.js的论坛程序...
  10. C/C++框架和第三方库
  11. python疫苗预约系统毕业设计开题报告
  12. eureka集群高可用配置
  13. 云麦体脂秤华为体脂秤_荣耀体脂秤和小米体脂秤对比哪个好 荣耀/小米体脂秤评测...
  14. JS Date时间各种格式互转
  15. 手机屏幕弹幕纵向滚动,添加弹幕实时滚动html demo
  16. 学生博客,教师博客地址,有用博客地址
  17. NIKE的网络营销案例给我们的启发
  18. 【GPU】Nvidia CUDA 编程高级教程——利用蒙特卡罗法求解近似值(NVSHMEM)
  19. OpenJudge NOI题库 1.5编程基础之循环控制
  20. 常用电子元件基础知识

热门文章

  1. 「后端小伙伴来学前端了」Vue-Router 路由各种跳转、传参、小知识
  2. mainwindow.obj:-1: error: LNK2019: 无法解析的外部符号 public: __cdecl about::about(class QWidget *) (??0abo
  3. python输出word内容_Django输出word文件(.doc),只在内容中显示原始html
  4. ado filter 多条记录_车里能开直播 行车记录仪十大隐藏设置
  5. afe模拟前端的重要性_UCD3138模拟前端(AFE)模块:模拟前端模块(AFE)简介
  6. python字典功能默写_Python 内存分配时的小秘密
  7. linux知识记录20192022
  8. 分割svm的超平面数学特征
  9. HTML中的5种空格表示,HTML中的5种空格各表示的意义
  10. 程序员绩效总结_阿里五年晋升三次,这个程序员要聊聊他的选择