如何提高自己的变量命名的能力。

chinarendotcom 2006-04-19 02:53:55
经常发现命名变量比较困难。
大家有什么好的方法。
m_arrOutCardsSpriteIndex 这样的变量名是不是太长了。
我得意思是出的牌对应图片精灵的索引数组。
...全文
574 33 打赏 收藏 转发到动态 举报
写回复
用AI写文章
33 条回复
切换为时间正序
请发表友善的回复…
发表回复
vincentcsdn 2006-05-19
  • 打赏
  • 举报
回复
关键还是英文要好---

m_arrOutCardsSpriteIndex

如果是我,我会写成m_iSpritesOfCards;
chinarendotcom 2006-05-19
  • 打赏
  • 举报
回复
up
美丽海洋 2006-04-20
  • 打赏
  • 举报
回复
就用通用的匈牙利命名就行 这样通用也好注释。
WecanHuang 2006-04-20
  • 打赏
  • 举报
回复
我的命名还要长呢
soaroc 2006-04-20
  • 打赏
  • 举报
回复
忘了以前是从哪里看到的,不妨参考一下:
匈牙利命名法:
MFC、句柄、控件及结构的命名规范
Windows类型 样本变量 MFC类 样本变量
HWND hWnd; CWnd* pWnd;
HDLG hDlg; CDialog* pDlg;
HDC hDC; CDC* pDC;
HGDIOBJ hGdiObj; CGdiObject* pGdiObj;
HPEN hPen; CPen* pPen;
HBRUSH hBrush; CBrush* pBrush;
HFONT hFont; CFont* pFont;
HBITMAP hBitmap; CBitmap* pBitmap;
HPALETTE hPaltte; CPalette* pPalette;
HRGN hRgn; CRgn* pRgn;
HMENU hMenu; CMenu* pMenu;
HWND hCtl; CState* pState;
HWND hCtl; CButton* pButton;
HWND hCtl; CEdit* pEdit;
HWND hCtl; CListBox* pListBox;
HWND hCtl; CComboBox* pComboBox;
HWND hCtl; CScrollBar* pScrollBar;
HSZ hszStr; CString pStr;
POINT pt; CPoint pt;
SIZE size; CSize size;
RECT rect; CRect rect;
tdtdtdtdtd123 2006-04-20
  • 打赏
  • 举报
回复
guanzhu
Robin_Hood_POT 2006-04-20
  • 打赏
  • 举报
回复
在一个语意环境里面,如果变量名太长,证明你的环境要么太大,要么做了太多事情。否则对于一个简单任务,几个变量足够了,相信名字也和含义一样简单:length、count、time……

造成变量名长的原因大多是你的代码逻辑和函数大小没有控制好。
double_pointer 2006-04-20
  • 打赏
  • 举报
回复
m_arrOutCardsSprite 不长,如果是我我会写 m_arrayOutCardsSprite
我在下班路上 2006-04-20
  • 打赏
  • 举报
回复
我个有觉得,无论你怎么去命名,关键是要自己能自懂,别人一般看你的程序往往是从注释看起的,所以变量怎样命名无关,只要有相应的注释就行了,这样无论是对自己还是别人都有极大的好处。
sycnick 2006-04-20
  • 打赏
  • 举报
回复
强烈推荐楼主看《代码大全》(1还是2,随便;英文还是中文,随便;纸质的还是电子版的,也随便)。
yangxingkuan 2006-04-20
  • 打赏
  • 举报
回复
应该与其它程序员接轨,用匈牙利命名法,
不过我英文没有学好,用不了,无法想到英文替代,郁闷!!!
lizhen8239 2006-04-20
  • 打赏
  • 举报
回复
匈牙利命名法,我觉得挺好的!!!
无论用什么命名法,关键是要统一一致就好了!!!
evanmengcn 2006-04-20
  • 打赏
  • 举报
回复
匈牙利命名法的初衷是给C那样的弱类型语言用的,在一个强类型语言中,没有必要用匈牙利命名法。
我不太明白“出的牌对应图片精灵的索引数组”是什么意思,是不是以牌面的数字为下标获得的值是对应的图片?如果是的话,那这就是一个映射表或者查找表,是我的话,我会叫它:lookupTableFromCardToSpirit。这个变量名并不长。
当你用一个变量的时候,你需要了解的首先是它的作用,而不是它的类型。借助现代IDE的成员提示和自动补全功能,你可以很轻易的在任何使用一个变量的场合获得它的类型,而不需要借助于变量名。
另外就是一些各人常见的习惯了,比如Index结尾常常用来表示下标或循环变量,Count或Size结尾表示集合里元素的数量,用Begin开头的方法其相对称的方法用End开头等等。

如果你在别人代码的基础上开发,尽量保证一个系统用的是相同的命名法。如果你不确定什么样的命名法是好的,那么最好模仿你所使用的语言所使用的标准库的命名法。比如在Java里Sun提倡方法名和变量名都用小写字母开头,而C#里MS提倡方法名用大写开头变量名用小写开头,这个没有什么好坏之分,只不过是让你的程序看上去和其它代码相处更和谐而已。
evanmengcn 2006-04-20
  • 打赏
  • 举报
回复
不要用匈牙利命名法。
ririhaoma 2006-04-19
  • 打赏
  • 举报
回复
怎么舒服怎么写关键要自己能看懂
zh2817 2006-04-19
  • 打赏
  • 举报
回复
我也经常遇到这种情况,主要是命名变量要尽量简洁、明了,实在太长加注释。
wuqingabc 2006-04-19
  • 打赏
  • 举报
回复
学英语! 一般变量是把英文字符中的元音去掉来缩短变量名称的.如:respond 为rsp
striking 2006-04-19
  • 打赏
  • 举报
回复
不管怎么样, 写的代码是要人看的, 人看得懂就好, 管它长短..
xing_xing_xing 2006-04-19
  • 打赏
  • 举报
回复
m_arrOutCardsSprite ?
xing_xing_xing 2006-04-19
  • 打赏
  • 举报
回复
m_arrOutCardsSprite ?
加载更多回复(13)

16,471

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC相关问题讨论
社区管理员
  • 基础类社区
  • Web++
  • encoderlee
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

        VC/MFC社区版块或许是CSDN最“古老”的版块了,记忆之中,与CSDN的年龄几乎差不多。随着时间的推移,MFC技术渐渐的偏离了开发主流,若干年之后的今天,当我们面对着微软的这个经典之笔,内心充满着敬意,那些曾经的记忆,可以说代表着二十年前曾经的辉煌……
        向经典致敬,或许是老一代程序员内心里面难以释怀的感受。互联网大行其道的今天,我们期待着MFC技术能够恢复其曾经的辉煌,或许这个期待会永远成为一种“梦想”,或许一切皆有可能……
        我们希望这个版块可以很好的适配Web时代,期待更好的互联网技术能够使得MFC技术框架得以重现活力,……

试试用AI创作助手写篇文章吧