文章分类 -  C++

摘要:http://blog.monkeypotion.net/reading/gameprogreading/top-ten-traits-of-a-rockstar-software-engineer1. 真心喜爱程式(Loves to Code)程式设计,是一种发自于内心、不求回报的付出(Labor of Love)。如同任何的职业一样,唯有具备满满的热情,才能完成真正伟大的事情。一般人的误解,常认为撰写程式是一种机械化,或者纯然科学化的行为。事实上,最棒的软体工程师是工匠(Craftman),能够将能量、巧思以及创造力注入每一行的程式码当中。优秀的工程师,知道程式码区块何时被琢磨至完美的程度 阅读全文

posted @ 2012-02-23 18:53 无忧consume 阅读(188) 评论(0) 推荐(0) |

摘要:一位软件工程师的6年总结一位软件工程师的6年总结作者:成晓旭(声明:欢迎转载,请保证文章的完整性) “又是一年毕业时”,看到一批批学子离开人生的象牙塔,走上各自的工作岗位;想想自己也曾经意气风发、踌躇满志,不觉感叹万千……本文是自己工作6年的经历沉淀或者经验提炼,希望对所有的软件工程师们有所帮助,早日实现自己的人生目标。本文主要是关于软件开发人员如何提高自己的软件专业技术方面的具体建议,前面几点旨在确定大的方向,算是废话吧。 谨以此文献给那个自己为你奉献3年青春与激情的开发团队。还有团队成员:PPL、YT、YK 、TYF、LGL、CHL、CDY、CB、DPD。 1、分享第一条经验:“学历... 阅读全文

posted @ 2012-02-22 13:11 无忧consume 阅读(94) 评论(0) 推荐(0) |

摘要:http://blog.csdn.net/zhaopengfei/article/details/2027351一个优秀软件开发人员的必修课:高内聚高内聚Java软件工程软件模式一个重要的模式:高内聚。2.高内聚(High Cohesion) 高内聚是另一个普遍用来评判软件设计质量的标准。内聚,更为专业的说法叫功能内聚,是对软件系统中元素职责相关性和集中度的度量。如果元素具有高度相关的职责,除了这些职责内的任务,没有其它过多的工作,那么该元素就具有高内聚性,反之则为低内聚性。高内聚要求软件系统中的各个元素具有较高的协作性,因为在我们在完成软件需求中的一个功能,可能需要做各种事情,但是具有高内. 阅读全文

posted @ 2012-02-22 13:07 无忧consume 阅读(248) 评论(0) 推荐(0) |

摘要:内聚与耦合内聚与耦合 内聚(Cohesion)是一个模块内部各成分之间相关联程度的度量。耦合(Coupling)是模块之间依赖程度的度量。内聚和耦合是密切相关的,与其它模块存在强耦合的模块通常意味着弱内聚,而强内聚的模块通常意味着与其它模块之间存在弱耦合。模块设计追求强内聚,弱耦合。一、内聚强度内聚按强度从低到高有以下几种类型: (1)偶然内聚。如果一个模块的各成分之间毫无关系,则称为偶然内聚。 (2)逻辑内聚。几个逻辑上相关的功能被放在同一模块中,则称为逻辑内聚。如一个模块读取各种不同类型外设的输入。尽管逻辑内聚比偶然内聚合理一些,但逻辑内聚的模块各成分在功能上并无关系,即使局部功能的... 阅读全文

posted @ 2012-02-22 13:06 无忧consume 阅读(248) 评论(0) 推荐(0) |

摘要:vector的数据安排和操作方式,与array非常相似,两者的唯一差别在于空间的运用得的灵活性。array是静态控件,一旦配置了就不能改变。vector是动态空间,随着元素的加入,他的内部机制回字形的扩充空间。 vector的迭代器是普通指针 vector构造函数: list迭代器不是普通指针(vector)因为它的地址是不连续的。因此list提供双向迭代器,并且插入删除不会造成原来的迭代器失效。 阅读全文

posted @ 2012-02-16 01:35 无忧consume 阅读(122) 评论(0) 推荐(0) |

摘要:c++ 之类的前置声明http://apps.hi.baidu.com/share/detail/34404627刚开始学习c++的人都会遇到这样的问题:定义一个类 class A,这个类里面使用了类B的对象b,然后定义了一个类B,里面也包含了一个类A的对象a,就成了这样:一编译,就出现了一个互包含的问题了,这时就有人跳出来说,这个问题的解决办法可以这样,在a.h文件中声明类B,然后使用B的指针。然后,问题就解决了。但是,有人知道问题是为什么就被解决的吗,也就是说,加了个前置声明为什么就解决了这样的问题。下面,让我来探讨一下这个前置声明。类的前置声明是有许多的好处的。我们使用前置声明的一个好处 阅读全文

posted @ 2012-02-14 01:23 无忧consume 阅读(145) 评论(0) 推荐(0) |

摘要:http://developer.51cto.com/art/201107/274805.htm内功深厚的武林高手出招往往平淡无奇。同理,编程高手也不会用奇门怪招写程序。良好的编程风格是产生高质量程序的前提。 下面以C++为例,来给大家介绍。一、命名约定有不少人编程时用拼音给函数或变量命名,这样做并不能说明你很爱国,却会让用此程序的人迷糊(很多南方人不懂拼音,我就不懂)。程序中的英文一般不会太复杂,用词要力求准确。匈牙利命名法是Microsoft 公司倡导的[Maguire 1993],虽然很烦琐,但用习惯了也就成了自然。没有人强迫你采用何种命名法,但有一点应该做到:自己的程序命名必须一致。以 阅读全文

posted @ 2012-02-13 21:35 无忧consume 阅读(183) 评论(0) 推荐(0) |

摘要:http://google-styleguide.googlecode.com/svn/trunk/cppguide.xml?showone=Displaying_Hidden_Details_in_this_Guide#NamingTable of ContentsHeader FilesThe #define GuardHeader File DependenciesInline FunctionsThe -inl.h FilesFunction Parameter OrderingNames and Order of IncludesScopingNamespacesNested Cla 阅读全文

posted @ 2012-02-13 21:33 无忧consume 阅读(182) 评论(0) 推荐(0) |

摘要:Linux 程序设计基础1.1 编程风格 Linux作为GNU家族的一员,上面的源代码数以万计,而在阅读这些源代码时我们会发现,不同的源代码的美观程度和编程风格都不尽一样,有些代码,如glibc的代码: static void release_libc_mem (void) { /* Only call the free function if we still are running in mtrace mode. */ if (mallstream != NULL) __libc_freeres (); }或者是Linux核心的代码: static int do_linuxrc(... 阅读全文

posted @ 2012-02-13 21:30 无忧consume 阅读(179) 评论(0) 推荐(0) |

摘要:#include <windows.h>#include <stdio.h>#include <conio.h>////下列X-Y坐标平面的值取决于控制台的尺寸,需要根据实际情况进行调整////起始X坐标#define X_START 10//结束X坐标#define X_END 650//每个值的X坐标增量,相当于512uS#define X_INC 10//Y坐标#define Y 250int main(){ HWND hwnd; HDC hdc; //获取console的设备上下文句柄 hwnd = GetConsoleWindow(); hdc = 阅读全文

posted @ 2012-02-12 19:40 无忧consume 阅读(283) 评论(0) 推荐(0) |

摘要:对话框和对话框类CDialog对话框经常被使用,因为对话框可以从模板创建,而对话框模板是可以使用资源编辑器方便地进行编辑的。模式和无模式对话框对话框分两种类型,模式对话框和无模式对话框。模式对话框一个模式对话框是一个有系统菜单、标题栏、边线等的弹出式窗口。在创建对话框时指定WS_POPUP, WS_SYSMENU, WS_CAPTION和 DS_MODALFRAME风格。即使没有指定WS_VISIBLE风格,模式对话框也会被显示。创建对话框窗口时,将发送WM_INITDIALOG消息(如果指定对话框的DS_SETFONT风格,还有WM_SETFONT消息)给对话框过程。对话框过程(Dialog 阅读全文

posted @ 2012-02-10 22:23 无忧consume 阅读(505) 评论(0) 推荐(0) |

摘要:C++中的临时变量许多人对临时变量的理解仅仅限于: string temp; 其实,从C++的观点来看,这根本就不是临时变量,而是局部变量. C++的临时变量是编译器在需要的时候自动生成的临时性变量,它们并不在代码中出现.但是它们在编译器生成的二进制编码中是存在的, 也创建和销毁.在C++语言中,临时变量的问题格外的重要,因为每个用户自定义类型的临时变量都要出发用户自定义的构造函数和析构函数(如果用户提供了) 又是该死的编译器!又该有人抱怨编译器总在自己背后干着偷偷摸摸的事情了.但是如果离开了编译器的这些工作,我们可能寸步难行. 如果X是一个用户自定义的类型,有默认构造函数,拷贝构... 阅读全文

posted @ 2012-02-09 23:42 无忧consume 阅读(492) 评论(0) 推荐(0) |

摘要:main处理命令行,一般两个参数或是无参数,第一个argc是值变量个数,argv是C风格的字符串数组 argv[0],argv[1],argv[2]... 内联函数,编译时就讲函数,展开,减少减少写成函数的额外执行开销 一旦删除指针,delete p; p编程悬垂指针,即指向原来位置,但是该位置无效,往往导致程序错误,因此应该吧指针赋值0(NULL) 重载:基于函数的形参const与否可以调用哪个函数,因此可以作为重载依据。 注意:1、依据非const可以嫁给const所以当调用的实参是非const时候,两个函数皆可 2、仅当形参是引用或指针时,形参是否为const才有效。... 阅读全文

posted @ 2012-02-08 22:56 无忧consume 阅读(104) 评论(0) 推荐(0) |

摘要:Boost智能指针——shared_ptrboost::scoped_ptr虽然简单易用,但它不能共享所有权的特性却大大限制了其使用范围,而boost::shared_ptr可以解决这一局限。顾名思义,boost::shared_ptr是可以共享所有权的智能指针,首先让我们通过一个例子看看它的基本用法:#include<string>#include<iostream>#include<boost/shared_ptr.hpp>classimplementation{public:~implementation() { std::cout <<& 阅读全文

posted @ 2012-02-08 22:21 无忧consume 阅读(154) 评论(0) 推荐(0) |

博客园  ©  2004-2025
浙公网安备 33010602011771号 浙ICP备2021040463号-3