智慧网咖这个产品,背后是由n多种语言支撑的。
包括但是不限于的语言有 C++,C#,Java,Php,JavaScript。标记语言类似于html css 就不包含在内了。
总有人问我,老板也会问,一个并非高精尖的产品,你们也算不得什么大团队,为什么要搬弄这么多语言。
我想说,这是历史遗留问题。
因为C++是因为网费的计费内核是由兄弟公司提供,我们用c#(服务端),Javascript(收银和客户端)调用了一些接口。他们主要是用来处理网吧内的逻辑。
外网web端,干嘛非要java和php一起用呢?之前最初是php,是一个基于we7的框架做了二次开发系统,后来新来的技术经理,看不上php这种弱类型的语言;于是启用了java,因为php那里做好了很多和公众号相关的业务,并且因为php简单易上手的特性,web端后台设置和展示查询的一些逻辑,全部交由php处理,而诸如一些订单,打印,广播,聊天,支付等系统,则由java来处理。
伴随着产品的发展,模块也多了起来,业务也复杂了起来;很多时候,一个功能常常涉及到n种语言技术,需要多人配合完成;造成了模块的难以维护,也造成了新人很难适应;
而且在石家庄这样的二线城市,特别难找到一些技术好悟性高的;很多人来了公司,常常了解了一下项目就撤了,因为觉得这个开发环境好难适应。
无论我怎么给自己找借口也好,项目过于复杂就是过于复杂;总要下手去解决,我也下决心去处理。
第一件事就是减少一门语言。
最先被减少的就是C++了,之前的时候,使我们不熟悉扣费逻辑这个场景,也不明白网吧的环境,现在理解也明白了,那么就用C#重写计费吧。
当然也是因为之前C++和C#混写,有很多没有办法解决的问题。
比如C#无法hold住C++的异常;
C#的日志和C++的日志是独立分开的,造成查找问题各种不便;
C++在处理计费中过度依赖于mysql的存储过程,造成在线更新版本的困难;
最后也是最重要的一条,就是在我小破庄这样的二线城市,招聘C++太困难了,太困难了,招聘岗位挂了半年,没来过一个靠谱的;
招聘C#也不易,但是相对于C++来说,培养的成本就小很多了。
网友评论