好吧,与几个朋友做一些项目,我需要一些标准来用c ++命名.有没有人有任何良好的c ++命名方案,经过深思熟虑,而不是像10分钟那样.
例如,int*house应该命名为int*house_p,这样当有人读取代码时,他不需要一直滚动,想知道一个东西是指针,数组,矩阵还是其他什么......
发布您正在使用的经过深思熟虑的命名方案!
如何像在常规 SQL 中一样使用 LINQ 重命名表列重命名
SELECT t.template_nm as [Template Name]
FROM Template t
Run Code Online (Sandbox Code Playgroud)
我从互联网上找到了答案,我可以重命名列名。但是两个单词之间不能有空格。
var template = from t in db.TEMPLATEs
select new { Template_Name = t.TEMPLATE_NM };
Run Code Online (Sandbox Code Playgroud)
但我想重命名它而不用下划线(_)“模板名称”
请帮忙
谢谢你
在Python中,列表有两种方法可以在末尾添加元素:"append"和"extend".其中一个将一个元素添加到列表中,另一个元素将迭代中的每个元素添加到列表的末尾.你知道哪个是哪个?你知道吗,不用抬头了吗?如果是这样,请你分享你的秘密,以便记住哪个是哪个?
我正在尝试为诸如win32,mac os,linux,iOs等平台创建一个抽象层.我希望这是动态链接的.在不支持这一点的平台上,它应该不是问题,因为从我所看到的,可以编译为动态库的所有内容都可以编译为静态库,并且对代码的影响最小.
现在,为了达到这个目的:
我创建了一个名为IThread的接口和一个名为CThread的类.我使用一个名为CreateThread的函数,它使用extern"C"定义,以便能够导出它并在库外调用它.这里的问题是在win32中,例如已经有一个名为CreateThread的函数,因此我得到一个链接器错误.我理解错误以及它出现的原因,但我不确定避免这种情况的好方法.我真的不喜欢使用奇怪的命名,因为qt使用像CreateQtThread.
我的另一个想法是创建一个创建CThread实例的线程管理器/工厂,但我不确定这是个好主意.
你们怎么看待这件事?我问,因为我不想急于处理像这样的重要组织问题.
非常感谢你
我希望能够增加列表的名称,以便创建多个空列表.
例如,我想要.
List_1 = []
List_2 = []
...
List_x = []
Run Code Online (Sandbox Code Playgroud)
我一直在努力:
for j in range(5): #set up loop
list_ = list_ + str(j) # increment the string list so it reads list_1, list_2, ect
list_ = list() # here I want to be able to have multiple empty lists with unique names
print list_
Run Code Online (Sandbox Code Playgroud) 假设我有不同的类来处理同一协议的不同版本(可能具有不同的接口)。例如,一个名为“我的协议”(MYP)的虚拟协议:
我的协议(MYP)版本1.0、1.1、2.0、2.2等...
我可以想到的一些命名示例是:
MYP10Handler,MYP11Handler,MYP20Handler,MYP22Handler,...
MYP1_0Handler,MYP1_1Handler,MYP2_0Handler,MYP2_2Handler,...
例如,如果使用第一个选项,则协议达到更高版本时将存在歧义。例如,版本11.0(十一):
MYP11Handler:版本1.1或11.0?
MYP110Handler:版本11.0或1.10?
然而,第二种选择似乎逃避了骆驼案规则。
通常如何对这些类型的类进行命名?有更好的做法吗?
参考这个问题:
python:不同包下同名的两个模块和类
无论嵌套如何,包中的所有模块都应该唯一命名吗?PEP8 和 PEP423 似乎没有解决这个问题。
我知道它size_t有_t后缀,因为它的 alias/ typedef。但是我不明白是什么原因char16_t,char32_t并且wchar_t包含_t后缀。
一般来说,有四种常见的大小写样式。
骆驼香烟盒
帕斯卡案例
蛇案例
烤肉串
第一种、第三种和第四种风格的词源是微不足道的。但是第二个(即 PascalCase)呢?
根据维基百科,
词源
参考Pascal 编程语言。
链接只说
Pascal 源代码中忽略字母大小写。
根据自由帕斯卡维基,
标识符规则:
- 必须以英文字母表中的字母或下划线 (_) 开头。
- 后面可以跟字母数字字符(字母字符和数字)或下划线 (_)。
- 不能包含特殊字符,例如:~!@#...
(剪辑)
帕斯卡不区分大小写!
MyProgram,MYPROGRAM, 和mYpRoGrAm是等价的。但出于可读性的目的,使用有意义的大写是个好主意!您可以选择两种可能的方法应用于您的标识符:CamelCase 和下划线作为空格。CamelCase,正如它所显示的那样,意味着标识符中的单独单词是大写的,因此您可以使用
newPerson或NewPerson代替newperson。使用下划线作为空格意味着你用下划线分隔标识符中的单词,这样你就可以new_person代替newperson. 或者您可以将两者结合起来,这样您就可以使用new_PersonorNew_Person代替newperson.
,这意味着不需要使用驼峰式标识符,例如StackOverflow或RedHatLinux。
那么,“camel case”这个词是怎么来的呢?pascal 程序员是否首先开始使用 PascalCase 风格?
我是 AWS IAM 的新手,我想知道是否有为开发和部署命名组的最佳实践。我在互联网上搜索了一些推荐最佳实践的文章,但找不到。一种命名策略和示例名称是:
项目名称.role
例如:
my_new_project.deployer <-- 对于想要部署的用户
my_new_project.app <-- 它将包含与应用相关的策略(如果它必须与其他服务通信等)
关于命名组的任何其他建议?
naming naming-conventions usergroups amazon-web-services amazon-iam
naming ×10
c++ ×3
python ×3
convention ×2
list ×2
amazon-iam ×1
c# ×1
dll ×1
extern ×1
java ×1
linq ×1
linq-to-sql ×1
methods ×1
pascal ×1
suffix ×1
types ×1
usergroups ×1
version ×1
winapi ×1