现在位置: 首页 > 软件开发
2019-02-19 23:26 工业·编程 ⁄ 共 1795字 暂无评论
最近经历了冰火两重天,上周还可以不紧不慢的开发功能和学习技术,本周突然就被卷入到一个紧急业务的开发之中,要求在这周五开发完成一个全新的后端业务,具体包括制定上下游服务接口、设计后端系统业务流程、开发代码和测试通过,以便在周末和测试同学一起进行紧急测试,这是背景。 这个项目的挑战在于业务十分紧急,留给产品、开发和测试的时间都非常紧张,有多个模块之间需要联调,因此经验丰富的大佬们很快定下3个原则: ...
阅读全文
2018-12-31 20:53 工业·编程 ⁄ 共 1172字 暂无评论
我们开始程序一般会用IDE,也就是集成开发环境,比如Visual Studio、Keil、IAR等,IDE的出现极大的解放了程序员的工作,使得程序员不用再去关注过于底层的物理性的操作,而只去关注应用层面的开发,但是也有缺点,就是对于我这种想象力不强的笨程序员来讲,对于一些底层操作,很难直观的去想象。     IDE同城会将编译和链接的过程一步完成,这个合并的过程,就是我们熟悉的IDE中的build,当然也可以单独编译,也...
阅读全文
2018-10-13 12:17 工业·编程 ⁄ 共 1150字 暂无评论
软件开发作为一项极易踩坑而且犯错成本很高的工作,一定要有强烈的检查意识。在工作中发现,检查意识能带来很多明显的好处: 检查代码可以加快开发完成时间。大型的C++工程中代码编译速度很慢,短则几十秒,长则十几分钟。因此写完代码就直接编译是非常错误的选择,应该首先由开发者检查代码,解决显而易见的错误,然后再进行编译。理想的情况是我们开发的代码可以一次编译通过,做到这点其实不难,只需保证有以下的检查意识: ...
阅读全文
2018-09-30 10:59 工业·编程 ⁄ 共 833字 暂无评论
在大型后端系统中,白名单机制是必不可少的,主要用在以下几个方面: 黑名单的对立面。这是白名单最明显的应用场景,例如微信朋友圈禁止抖音、快手等平台的短视频分享,但是微信、QQ等APP拍摄的小视频是可以分享的,所以这里有一个“短视频分享白名单”在起作用。 测试帐号。我们在测试新功能的时候,刚开始不想对所有用户都生效,可以通过白名单机制限制生效范围,利用白名单的思想可以对账号进行分类,只有在白名单中的测试帐号...
阅读全文
2016-08-03 22:34 工业·编程 ⁄ 共 4475字 暂无评论
1.关于Code Review 1.1 Code Review的目的 Code Review是一种用来确认方案设计和代码实现的质量保证机制,通过这个机制我们可以对代码、测试过程和注释进行检查。 Code Review主要用来在软件工程过程中改进代码质量,通过Code Review可以达到如下目的目的: (1)在项目早期就能够发现代码中的BUG (2)帮助初级开发人员学习高级开发人员的经验,达到知识共享 (3)避免开发人员犯一些很常见,很普通的错误 (4)保证项目组人...
阅读全文
2016-06-24 21:02 工业·编程 ⁄ 共 3735字 暂无评论
    为了谈应用,先谈谈使命。模板元编程的根在模板。模板的使命很简单:为自动代码生成提供方便。提高程序员生产率的一个非常有效的方法就是“代码复用”,而面向对象很重要的一个贡献就是通过内部紧耦合和外部松耦合将“思想”转化成一个一个容易复用的“概念”。但是面向对象提供的工具箱里面所包含的继承,组合与多态并不能完全满足实际编程中对于代码复用的全部要求,于是模板就应运而生了。     ...
阅读全文
在计算机编程实现中有常常两种方法:一曰迭代(iterate);二曰递归(recursion)。 从“编程之美”的角度看,可以借用一句非常经典的话:“迭代是人,递归是神!”来从宏观上对二者进行把握。 从概念上讲,递归就是指程序调用自身的编程思想,即一个函数调用本身;迭代是利用已知的变量值,根据递推公式不断演进得到变量新值得编程思想。 从直观上讲,递归是将大问题化为相同结构的小问题,从待求解的问题出发,一直分解到已经已知...
阅读全文
2016-06-18 22:14 工业·编程 ⁄ 共 251字 暂无评论
本文记录Eclipse配置C++11开发所有作者遇到的情况,包括跨工程文件编译,内联文件编译等。 1.菜单“Project”——“Properties”——“C++ General”,如图所示: 2.“C++ Build”——“Settings”,如图所示: 3.头文件路径设置如图所示: 4.预定义设置如图所示: 5."C++ Linker"配置(此处解决内联文件编译支持C++11的问题),如图所示: 6.链接库与路径 7.指定编译后链接库路径与其他工程文件 暂时就总结这么多,以后发现新...
阅读全文
文章目录 Go语言 Rust语言 总结 【编者按】本文是D语言联合创始人、架构师Andrei Alexandrescu在问答Quora上关于“在取代C语言的道路上,D、Go和Rust谁的前途最光明?为什么?”提问的回答,他从自己的角度谈及了D、Go和Rust在取代C/C++语言的优劣势,以及这三种语言的未来。 以下为译文: 作为D语言的联合创始人之一,尽管我的身份来回答这个问题显得有点不合适,但是我...
阅读全文
2016-03-06 07:29 工业·编程 ⁄ 共 1105字 暂无评论
如果说设计模式是从代码角度为系统降低耦合度,那么架构风格便是从数据角度解耦。 架构是更加宏观和全面的视角,它不再是解决单一的技术问题,而是为系统提供更加完整的解决方案。 架构风格是一种粗粒度的软件模式,为常见软件问题提供解决方案,促进软件的重用。 常见的软件架构风格如下: 1.Pipe & Filter 2.Batch 3.VM 4.Layered Architecture 5.MVC, PAC 6.MicroKernel 7.Event System 8.Blackboard System 9.Broker, C/...
阅读全文