如何优雅的写C++代码(一)

我是一个Java/C程序员。搞了半年QT和服务器(spring boot),给我的感受有一下几点:

===========================================================

  1.QT真好用,任何功能能找到相应的模块支持。但是有些模块的设计真心难用(例如它的tcp),只能自己重写一个。

  2.SpringBoot真好用,卡卡几下就能写一个像模像样的服务器了。但是想优化流程的时候,你会发现,我靠,基本都是spring boot的框架,能优化的部分很少,当然,后续我也尝试了用Go来写服务器(写了个小型的聊天服务器),感觉比spring boot好多了,至少很多代码都能在我的掌控中了。哈哈。

===========================================================

今年年初,和同事聊天,我们公司竟然还没有自己的log回收服务器。当时兴起,就建议我们自己搞一个得了。当然,这个也和我讨厌腾讯的bugly有关。说干就干,这次我选择了自己最不熟悉的C++来写服务器端。C++是我用过的编程语言中语法最多变,诡异用法最诡异的语言,所以想借这次机会,好好补补自己的C++。

但是!!!但是!!!现实是残酷的,当我写了3天代码后,我发现,我错了,我完全没有办法写出一个像java这样干净的面向对象。也不能像C这样直接面向过程。况且,我还要去考虑内存释放,My Good~~~。不清楚写C++的同学,入门时是否和我有同样的感受。所以,哥们就直接开始了下面的开源库开发~。目的就是想让大家像用java这样能愉快的使用C++。OK,先Show一段代码:

String str = createString("AaAbAc");
String str2 = str->replaceAll("A","t");
if(!str2->equals("tatbtc")) {
    printf("String replaceAll test1-------[FAIL] \n");
    break;
}

这段代码实现了一个String的替换以及equal的判断。针对字符串的功能都被统一到了String这个类中。不需要你考虑使用C++中的那个流去做转化。非常方便。当然,最主要的一点是:这里String采用了只能指针,使用的时候无需考虑内存释放。所以使用上基本和Java相同。

如果大家有兴趣的话,可以访问下面的github

https://github.com/wangsun1983/Obotcha

目前很多类都在实现中~~。后续会逐个介绍Obotcha的使用方法和设计思路。

猜你喜欢

转载自blog.csdn.net/wang_sun_1983/article/details/89303562