公司有个大约2万行的项目,用到了boost,我想取消掉不用boost。理由:一,可理解性差,除了高手很难弄懂。二,类太多,光头文件就1万多。大点的团队四五个高手,每人用一个boost类。高手流失后,很难补充,因为候选人不知道需要熟悉那五个类。我同学,一入职就接手一个boost用得多的项目,不到3个月就摸清了整个脉络,结果被辞退了,理由:3个月无任何成果。此公司花了6个月才找到他。
只有一个读取xml的类用到了boost,要想不用boost,要么自己写xml内核,要么用其他xml库。前者成本高,有更重要的事要做;后者收益少,不值得。退而求其次,封装一次,基础库用boost,调用者不用boost,将boost范围从整个公司压缩到基础库(公共库)开发组。
发现调用方多次用到一个宏,此宏实现反射。此宏嵌套调用了多个boost宏,试图将宏复制过来,忙了一下午没成功。F12无效,从文件中查找太慢,1万多个头文件。干脆复制几个boost文件过来,就好了。以后有空,删掉这几个文件不用的内容,并将宏重新命名。
调用方只调用公共库的类和宏,所以只要不调整接口,怎么优化,都不影响调用方。

[闻缺陷则喜]关于boost的想法的更多相关文章

  1. 树莓派(Raspberry Pi)上手小记

    引言 本日志中有不少软广告,博主并没有收他们任何好处,完全是给想入手的小伙伴们指条路而已.不喜勿看,不喜勿闻,不喜勿喷. 介绍 之前两三个月突然听说了这么个东西,也没有留意,某天突然在一个微信公众号上 ...

  2. 在 App Store 三年學到的 13 件事(下)

    博文转载至 http://blog.csdn.net/iunion/article/details/18959801     Steven Shen,曾經寫過一本書,也翻過一本書,開發 iOS app ...

  3. 《女神异闻录 5》的 UI 设计

    转自:https://www.zhihu.com/question/50995871?sort=created <女神异闻录5>是近两年最为火热的JRPG游戏之一,它的出色不仅在于剧情暗讽 ...

  4. boost 介绍

    简介: Boost库是一个可移植.提供源代码的C++库,作为标准库的后备,是C++标准化进程的开发引擎之一. Boost库由C++标准委员会库工作组成员发起,其中有些内容有望成为下一代C++标准库内容 ...

  5. Boost学习笔记(六) progress_display注意事项

    progress_display可以用作基本的进度显示,但它有个固有的缺陷:无法把进度显示输出与程序的输出分离. 这是因为progress_display和所有C++程序一样,都向标准输出(cout) ...

  6. 关于Linux系统basename函数缺陷的思考

    某模块作为前台进程独立运行时,运行命令携带命令行参数:作为某平台下守护进程子进程运行时,需要将命令行参数固化在代码里.类似如下写法: char *argv[] = {"./DslDriver ...

  7. LuaTinker的bug和缺陷

    LuaTinker的bug和缺陷 LuaTinker是一套还不错的C++代码和Lua代码的绑定库,作者是韩国人Kwon-il Lee,作者应该是参考了LuaBind后,为了简化和避免过重而实现的.其官 ...

  8. 关于智能指针boost::shared_ptr

    boost库中的智能指针shared_ptr, 功能强大, 且开销小,故受到广大coder的欢迎. 但在实际的使用过程中,笔者也发现了一些不足. 1.定制的删除器 shared_ptr除了可以使用默认 ...

  9. Boost简介

    原文链接:  吴豆豆http://www.cnblogs.com/gdutbean/archive/2012/03/30/2425201.html Boost库 Boost库是为C++语言标准库提供扩 ...

随机推荐

  1. 6.算法竞赛中的常用JAVA API :Math类(转载)

    6.算法竞赛中的常用JAVA API :Math类 求最值 最小值 Math.min(int a, int b) Math.min(float a, float b) Math.min(double ...

  2. 安鸾CTF Writeup SSRF02

    SSRF02 题目链接:http://www.whalwl.host:8090/ 看到题目,以为是SSRF 获取内网信息, SFTP FTP Dict gopher TFTP file ldap 协议 ...

  3. 手把手和你一起实现一个Web框架实战——EzWeb框架(五)[Go语言笔记]Go项目实战

    手把手和你一起实现一个Web框架实战--EzWeb框架(五)[Go语言笔记]Go项目实战 代码仓库: github gitee 中文注释,非常详尽,可以配合食用 本篇代码,请选择demo5 中间件实现 ...

  4. 微信小程序开发(二)——使用WeUI组件库

    一.前言 因为小程序的api描述都比较简单,并没有wxml及wxss的描述,一定会想小程序有没有一个UI库,类似于前端中的Bootstrap,MD,Semantic UI这样的框架UI库.有的,它就是 ...

  5. AlexNet论文总结

    论文链接:https://papers.nips.cc/paper/2012/file/c399862d3b9d6b76c8436e924a68c45b-Paper.pdf Q1:解决了什么? 目前主 ...

  6. 综合练习——寻找有潜力的bilibili百大UP主(1)

    寻找有潜力的bilibili百大UP主(1) 防喷说明:以下仅为个人学习之余的娱乐项目,本人不主动赋予以下内容任何价值,不确保内容的准确性 欢迎各位友善的指出错误 目录 寻找有潜力的bilibili百 ...

  7. wpf 实现印章,公章效果

    能写一些特定外观的控件,是一个做界面开发的程序员的基础技能.基本上,不管你是做web,QT,MFC,Winform,WPF等等,如果自己看到一个比较好看的有趣的效果,能大致推断出它的实现方式并照猫画虎 ...

  8. 【java se】java注解

    目录: 1.注解概述 2.常见的 Annotation 示例 3.自定义 Annotation 4.JDK 中的元注解 5.利用 反射获取注解信息(在反射部分 涉及) 6.JDK 8 中注解的新特性 ...

  9. 十七:使用JDBC处理MySQL大数据

    一.基本概念 大数据也称之为LOB(Large Objects),LOB又分为:clob和blob,clob用于存储大文本,blob用于存储二进制数据,例如图像.声音.二进制文等. 在实际开发中,有时 ...

  10. Quartz任务调度(6)schedulerListener分版本超详细解析

    schedulerListener 在我们的监听器实现类中,这个类中需实现的方法很多,不需要的可以给出空实现,下面是一些常用的用法: 方法 说明 jobScheduled() Scheduler 在有 ...