优秀程序员45种习惯[转]

态度篇1. 做实事不要抱怨,发牢骚,指责他人,找出问题所在,想办法解决。对问题和错误,要勇于承担。2. 欲速则不达用小聪明、权宜之计解决问题,求快而不顾代码质量,会给项目留下要命的死角。3. 对事不对人就事论事,明智、真诚、虚心地讨论问题,提出创新方案。4. 排除万难,奋勇前进勇气往往是克服困难的唯一方法。学习篇5. 跟踪变化新技术层出不穷并不可怕。坚持学习新技术,读书,读技术杂志,参加技术活动,与人交流。要多理解新词背后的所以然,把握技术大趋势,将新技术用于产品开发要谨慎。6. 对团队投资打造学习型团队,不断提高兄弟们的平均水平。7. 懂得丢弃老的套路和技术,该丢,就得丢。不要固步自封...
默认分类 | 2010-04-17 14:31 | 阅读 965 次 | 评论 0 条

游戏编程入门

经常有人问我,没有编程经验的人该如何开始开发游戏。在此之前,我总是一个个的尽力回答。然而,后来提相同问题的人数增长到难以处理的地步。我决定,是时候把我所有的建议写成文章,作为一个大概。 这篇文章是针对那些想要开发自己游戏,但几乎没有编程经验的人。事实上,我假设读者没有任何编程经验。我主要讨论游戏开发的程序和设计方面,而不是艺术性。我也不准备讲述如何进入游戏行业(这方面已经有足够的资料),而只是让你逐步的开始开发自己的游戏。最后,我所指出的这条道路也并不能作为唯一的,或是最好的路径来学习开发游戏,但至少对我和一些人很有用。 选择一门语言 你要做的第一件事就是选择一门开发语...
默认分类 | 2010-04-17 14:27 | 阅读 801 次 | 评论 0 条

软件工程:怎样写需求文档

许多需求文档可以通过使用有效的技术编写风格和使用用户术语而不是计算机专业术语的方式得以改进。 你在编写软件需求文档时,应牢记以下几点建议: 1 保持语句和段落的简短。 2 采用主动语态的表达方式。 3 编写具有正确的语法、拼写和标点的完整句子。 4 使用的术语与词汇表中所定义的应该一致。 5 需求陈述应该具有一致的样式,例如“系统必须”或者“用户必须”,并紧跟一个行为动作和可观察的结果。例如,“仓库管理子系统必须显示一张所请求的仓库中有存货的化学药品容器清单。” 6 为了减少不确定性,必须避免模糊的、主观的术语,例如,用户友好、容易、简单、迅速、有效、支持、许多、最新技术、优越的、可接...
默认分类 | 2010-04-17 14:26 | 阅读 1462 次 | 评论 0 条

VC编程规范

基本要求 1.1 程序结构清析,简单易懂,单个函数的程序行数不得超过100行。1.2 打算干什么,要简单,直接了当,代码精简,避免垃圾程序。1.3 尽量使用标准库函数和公共函数。1.4 不要随意定义全局变量,尽量使用局部变量。1.5 使用括号以避免二义性。 2.可读性要求2.1 可读性第一,效率第二。2.2 保持注释与代码完全一致。2.3 每个源程序文件,都有文件头说明,说明规格见规范。2.4 每个函数,都有函数头说明,说明规格见规范。2.5 主要变量(结构、联合、类或对象)定义或引用时,注释能反映其含义。2.7 常量定义(DEFINE)有相应说明。2.8 处理过程的每个阶段都有...
默认分类 | 2010-04-17 14:25 | 阅读 682 次 | 评论 0 条

VC读取INI文件

将rwini.h和rwini.cpp文件添加到工程中 这两个是INI操作的类 在需要使用该类的地方顶部写上 #include "rwini.h" 读和写的例子: char hello[100]; Crwini inifile;inifile.ReadString("appname","keyname","test.ini",hello);inifile.WriteString("appname","abc","hidajdf","test.ini"); 其中 test.ini 与运行文件同一目录 内容为 [appname] keyname=ssdsaabc=hid...
默认分类 | 2010-04-17 14:23 | 阅读 1245 次 | 评论 0 条

OpenGL实现三维绘图

在三维绘图蓬勃发展的过程中,计算机公司推出了大量的三维绘图软件包。其中SGI公司推出的OpenGL,作为一个性能优越的图形应用程序设计界面(API)异军突起,取得了很大的成就。它以高性能的交互式三维图形建模能力和易于编程开发,得到了Microsoft、IBM、DEC、Sun、HP等大公司的认同。因此,OpenGL已经成为一种三维图形开发标准,是从事三维图形开发工作的必要工具。1、初始化OpenGL绘图环境  1.1 定义颜色格式和缓冲模式  OpenGL提供两种颜色模式:RGB(RGBA)模式和颜色索引模式(调色板)。在RGBA模式下所有颜色的定义用RGB三个值来表示,有时也加上Alph...
默认分类 | 2010-04-17 14:22 | 阅读 927 次 | 评论 0 条

Visual C++中OpenGL编程入门

OpenGL作图非常方便,故日益流行,但对许多人来说,是在微机上进行的,首先碰到的问题是,如何适应微机环境。这往往是最关键的一步,虽然也是最初级的。一般的,我不建议使用glut 包.那样难以充分发挥 windows 的界面上的功能.  下面介绍如何在 VC++ 上进行 OpenGL 编程。 OpenGL 绘图的一般过程可以看作这样的,先用 OpenGL 语句在 OpenGL 的绘图环境 RenderContext (RC)中画好图, 然后再通过一个 Swap buffer 的过程把图传给操作系统的绘图环境 DeviceContext (DC)中,实实在在地画出到屏幕上.  下面以画一条 ...
默认分类 | 2010-04-17 14:22 | 阅读 676 次 | 评论 0 条

OpenGL的一个测试例子

#include "windows.h"#include "gl/gl.h"#include "gl/glaux.h"#include "gl/glu.h" void myinit(void);void InitPalette(void);void DrawColorFans(void);void CALLBACK myReshape(GLsizei w,GLsizei h);void CALLBACK display(void); void myinit(void){ glClearColor(0.0,0.0,0.0,0.0); glClear(GL_COLOR_BUFFER_...
默认分类 | 2010-04-17 14:21 | 阅读 891 次 | 评论 0 条

Windows Socket API 使用经验

Windows Socket API 使用经验 2003-3-26 13:53:05 5XSOFT 唐纲 阅读次数: 35309 本文是我在进行MS-Windows、HP-Unix网络编程的实践过程中总结出来的一些经验,仅供大家参考。本文所谈到的Socket函数如果没有特别说明,都是指的Windows Socket API。一、WSAStartup函数 int WSAStartup( WORD wVersionRequested, LPWSADATA lpWSAData ); 使用Socket的程序在使用So...
默认分类 | 2010-04-17 14:20 | 阅读 650 次 | 评论 0 条

VC程序开机时自动运行

//开机自动运行BOOL CXXX::SetAutoRun(CString strPath){CString str;HKEY hRegKey;BOOL bResult;str=_T("Software\\Microsoft\\Windows\\CurrentVersion\\Run");if(RegOpenKey(HKEY_LOCAL_MACHINE, str, &hRegKey) != ERROR_SUCCESS) bResult=FALSE;else{_splitpath(strPath.GetBuffer(0),NULL,NULL,str.GetBufferSetLe...
默认分类 | 2010-04-17 14:18 | 阅读 1218 次 | 评论 0 条

解析VC中的消息传递机制

http://www.itbud.cn 摘要:Windows编程和Dos编程,一个很大的区别就是,Windows编程是事件驱动,消息传递的。所以,要学好Windows编程,必须对消息机制有一个清楚的认识,本文希望能够对消息的传递做一个全面的分析。    什么是消息?    消息系统对于一个win32程序来说十分重要,它是一个程序运行的动力源泉。一个消息,是系统定义的一个32位的值,他唯一的定义了一个事件,向Windows发出一个通知,告诉应用程序某个事情发生了。例如,单击鼠标、改变...
默认分类 | 2010-04-17 14:18 | 阅读 664 次 | 评论 0 条

初学vc时得一些记录(不是本人)

//////////////////////////////////////////////////////////// //得到屏幕的尺寸大小 HWND hWnd; CRect Rect; hWnd = ::GetDesktopWindow(); ::GetClientRect(hWnd, &Rect); //////////////////////////////////////////////////////////////添加托盘void CWorkSheetTrayDlg::AddTaskBarIcon(){ m_Nid.cbSize = sizeof(m_Nid...
默认分类 | 2010-04-17 14:16 | 阅读 6630 次 | 评论 0 条

在VC中改变控件的背景色

在VC编程中要改变控件(诸如CView, CFrameWnd, or CWnd等)的背景色可通过处理特定的消息来实现。但如果想改变按钮的颜色,就只能使用自绘制的按钮(也可以用位图按钮,此处未做说明)而不能通过OnCtlColor()改变。    一、在一个MFC应用程序中,要改变控件的背景色可通过重载OnCtlColor()函数来实现。方法是在该函数中设置所需颜色后再返回一个画刷句柄便可重绘控件背景色。OnCtlColor()函数对于控件背景色的处理是通过捕捉相应的控件消息来实现的。常用的此类消息有: CTLCOLOR_DLG 对话框 CTLCOLOR_EDIT 编辑框 CTLCOLOR...
默认分类 | 2010-04-17 14:15 | 阅读 595 次 | 评论 0 条

用VC进行屏幕截取编程

---- 屏幕截取是令人比较感兴趣的事情.虽然现在有不少应用程序如HYPERSNAP等可以用来截取你所喜欢的屏幕画面,但是如果能把这个功能加到自己的程序中,就更能利用它强大的作用. ---- 下面用VC来逐步介绍在Windows95下的实现过程.首先我们要确定屏幕截取的区域,用LPRECT结构来定义.可以截取一个窗口,或整个屏幕.以下代码把选定的屏幕区域拷贝到位图中. HBITMAP CopyScreenToBitmap(LPRECT lpRect) //lpRect 代表选定区域 { HDC hScrDC, hMemDC; // 屏幕和内存设备描述表 HBITMAP hBitmap, ...
默认分类 | 2010-04-17 14:14 | 阅读 602 次 | 评论 0 条

Visual C++实现Flash动画播放

摘要: 本文通过在VC中将外部swf格式文件内嵌为VC的内部资源,使其在程序运行过程中从资源动态释放到临时文件,从而实现VC对Flash动画的播放。    引言    Flash动画由于可以很方便地把用户的想象通过动画显现出来,使原本只属于专业制作人员的动画制作变的异乎寻常的快捷、方便。由于Flash制作的动画在层次、内容、表现形式等诸多方面均比较出色,因此在网络上得到迅猛的发展,更有不少厂商用Flash在互联网上做起了广告和产品演示,效果丝毫不比视频的差,而体积则要小的多。Flash不仅在网络上有广泛的应用,在普通的应用程序中也可以借助Flash实现一些VC、Delphi等编程语言所难...
默认分类 | 2010-04-17 14:13 | 阅读 607 次 | 评论 0 条

排序算法

排序算法是一种基本并且常用的算法。由于实际工作中处理的数量巨大,所以排序算法 对算法本身的速度要求很高。 而一般我们所谓的算法的性能主要是指算法的复杂度,一般用O方法来表示。在后面我将 给出详细的说明。 对于排序的算法我想先做一点简单的介绍,也是给这篇文章理一个提纲。 我将按照算法的复杂度,从简单到难来分析算法。 第一部分是简单排序算法,后面你将看到他们的共同点是算法复杂度为O(N*N)(因为没有 使用word,所以无法打出上标和下标)。 第二部分是高级排序算法,复杂度为O(Log2(N))。这里我们只介绍一种算法。另外还有几种 算法因为涉及树与堆的概念,所以这里不于...
默认分类 | 2010-04-17 14:12 | 阅读 555 次 | 评论 0 条
浏览44491次
文章分类