自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(13)
  • 问答 (1)
  • 收藏
  • 关注

原创 对一些坏代码的总结、批判

今天就工作过程中遇见的烂代码、坏代码做一些总结。公司代码一:bool CBusSystem::UpdataBus(BUS_INFO* bus){ m_BusMapLock->lock(); CBusInfo* tmp = GetBusByGuid(strutil::format("%d", bus->dwID)); if (tmp) { tmp->m_Ln...

2018-08-03 18:25:35 119

原创 编程规范

1变量的命名规则作用域 + 匈牙利命名规则 + 驼峰命名规则 + 设计意图1.1作用域全局变量: g_ 类成员变量: m_局部变量: 无 1.2匈牙利命名前缀(常用)arr 数组b 布尔型(bool)c 字符(char)n   带符号短整形(short)i 带符号整形(int)u 无符号整形(unsinged int)l 带符号长整形(lon...

2018-07-19 13:58:47 301

原创 基础技术二:CRITICAL_SECTION 创建自动锁

class CMyLocker{public: CMyLocker(); ~CMyLocker(); /** @brief enter critical section */ void Enter(); /** @brief leave critical section */ void Leave();protected:private: CRITICAL_SECTION

2018-01-03 16:12:27 378

原创 基础技术一:MFC 线程对象封装

class CThreadObj{public: CThreadObj(); virtual ~CThreadObj(); /** *@brief 启动线程接口 */ void StartThread(); /** *@brief 退出线程接口 *@author LuZhiLong[2017.05.11] */ void ExitThread

2018-01-03 15:46:54 316

原创 项目上的一些总结

一、 在会议开始前一天,将讨论的文档、主题邮件发送参与者。        重要:将会议讨论的结果、结论、再议的点反馈给会议参与者。 二、 项目过程中大框架设计的分享(人月神话的外科手术队伍)。将设计的思想、方向、子系统的划分、子系统间的耦合进行讨论。 三、 项目过程中编码风格的统一(包括小的技术点:内存管理、资源管理等,名称:变量、函数、类型等) 四、 产品需求(个人理

2017-08-25 09:38:29 173

原创 调试基础:函数 _CrtSetBreakAlloc()使用blog

函数 _CrtSetBreakAlloc(long lBreakAlloc)。函数说明 MSDN 链接:https://msdn.microsoft.com/en-us/library/4wth1ha5.aspx 在分配块号 lBreakAlloc 的内存时,程序中断。以此来定位内存泄露的大概位置。注:必须在内存分配之前调用该函数来设置断点。 第一步:发现有内存泄露:

2017-04-11 17:38:44 1171

原创 MFC 基础:静态加载DLL ,main()、main全局变量、dllMain()、dllMain全局变量的一些说明

现今的程序在大部分情况下,都或多或少引用了一些功能库。因此了解动态库DLL的加载和初始化,有利于避免一些依赖问题的出现。   动态库的加载有 动态加载 和静态加载两种方式。现仅对静态加载的方式进行一些跟踪,来得出一些顺序上的结果。   程序主程入口:int main(char argc, char *argv[]);   DLL库的入口 :BOOL WINAPI Dll

2017-03-20 17:26:46 1369

原创 《人月神话》-摘要一

1)要成为系统构建,程序必须按照一定要求来来编制。输入输出在语法和语义上与精确定义的接口一致。     精确定义的接口:符合支持实际的 应用情景。     输入输出:很明确,简单的输出。与 函数功能单一性统一。2)功能模块的相互交互产生 bug。交互包涵错误,边界极值的情况,引起bug。      功能模块 不应该依赖模块以外的逻辑,依赖接口(抽象的使用)。

2016-12-22 09:10:07 474

原创 工具:SVN 管理软件版本的一些心得

一直使用的版本管理器 SVN存在的现象,1)提交版本的说明一般是简短的一句话。(例:修复bug,增加**功能)2)功能增加完后之后提交。(可能修改、增加 N多的函数)3)多人对同一个工程的代码管理。(公共部分的代码修改,处理责任之外的代码文件)4)down 下来的代码需要额外的去配置,寻找库文件较好的方法总结1)单一功能增加就应该提交SVN2)提交说明应该详

2016-11-09 11:17:25 329

原创 visual studio随机数问题

项目过程中遇到需要使用随机数。于是研究了一下visual studio 随机数的机制。可以收纳成公共方法的接口。val 在区间【m,n):(rand()%(n - m+1) )   + msrand()设置随机数的种子rand()伪随机数产生器,它是基于 “随机种子” 的线性随机。种子不同,随机数也不同。一般使用的机制,以时间为种子。srand(

2016-11-09 10:15:28 2676

原创 关于 _cplusplus 的一些说明

编译器在编译过程会对一些函数,变量重命名:加上一些字符和符号。这种重命名的过程在编译器内部是可逆的,错误提示的代码为逆过程,即恢复命名。因为存在这种重命名的过程,c++ 函数在提供给 c 函数使用的过程会出现一些问题。例如找不到相应的函数,未实现函数。一些解决办法: _cplusplus_cplusplus 标识c++编译器#ifdef __cplusplusE

2016-11-09 09:58:00 373

原创 visual studio 字节对齐 pack应用

32位的电脑内存一般都是4 bytes对齐。struct _ONE_BYTE_STRUCT{char m_byte;};struct _ONE_BYTE_STRUCT 结构体对象占用内存 4byte;visual studio IDE 编程使用 关键字。修改内存对齐字节数#pragma pack(1)//定义的结构体 1字节对齐......//去掉内存 4

2016-11-09 09:05:25 1303

原创 配置 release 版本调试状态的

在windows 平台开发中,碰到了一种情况:debug 版本测试case 没有问题,但是发布测试的版本却出现bug。原因1,release 版本的变量值不会赋初值,但是debug版本有时候有初值2,release 版本去掉了调试信息,去掉了  null 诊断。延申:不要用null诊断来替代 if (null) 检测。3,release 版本在发布之前没有调试,测试 case。

2016-11-04 17:05:27 806

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人 TA的粉丝

提示
确定要删除当前文章?
取消 删除