让我们说我有一个文本框或任何其他形式的输入,要求提供社会安全号码.我想要注意的是,SSN是一个纯粹的例子,我现在只是想到了.该输入最初将自然地存储为字符串.
string s = Console.ReadLine();
Run Code Online (Sandbox Code Playgroud)
让我们说我想要一个验证SSN的方法,它可能会在我的代码中用于各种各样的地方.哎呀,我甚至可能在一个尚未由用户输入确定的变量上调用该方法.
这可以接受吗?
public bool IsValidSSN(Object SSN)
{
int mySSN;
if(Int.Parse(SSN == false)
{
mySSN = Convert.toInt32(SSN);
}
...
}
Run Code Online (Sandbox Code Playgroud)
或者你会坚持要求我提供特定的数据类型,例如
public bool IsValidSSN(int SSN)
{
...
}
Run Code Online (Sandbox Code Playgroud)
因此我需要在输入方法之前将输入转换为正确的数据类型.
顺便说一句:我不是问如何做一个正确的IsValidSSN代码:)我只是想举例说明我的意思:我可以接受Object数据类型作为参数还是应该尽量避免它?
为什么元组文档要使用,例如:
#include "boost/tuple/tuple.hpp"
Run Code Online (Sandbox Code Playgroud)
并不是
#include <boost/tuple/tuple.hpp>
Run Code Online (Sandbox Code Playgroud)
我知道我的代码不可能有一个名为"boost/tuple/tuple.hpp"的文件,但使用include <>明确表示不要查看curent目录.
那是什么原因?
c++ compiler-construction coding-style conventions c-preprocessor
因为我们假设我正在使用以下类创建Java项目
com.bharani.ClassOnecom.bharani.ClassTwocom.bharani.helper.HelperOnecom.bharani.helper.support.HelperTwo文件放在文件夹'src'下面
并使用该命令编译它们
$ javac -d classes src/*.java(假设classes目录存在)
编译器编译这些文件并将类文件放在'classes'目录下的相应子目录中,就像这样
因为规范要求类应该进入适当的目录结构.精细.
我的问题是:当我使用Eclipse或NetBeans等IDE时,他们也会为源代码目录(此处为'src'目录)创建目录结构.这是为什么?这是强制性的吗?或者,这只是一个惯例吗?
谢谢.
我注意到在许多社区Objective-C类和Apple的框架中,他们使用带有下划线的变量前缀的约定来命名一些变量,例如:_name.拥有下划线的原因是什么?我应该在自己的课堂上这样做吗?如果是的话我应该何时何地使用它?
应该通过javadoc注释(类,方法,构造函数和字段?或者只有类方法和构造函数?)来记录什么?那有什么约定吗?
请尽可能在答案中提供相关资源的链接.谢谢
编辑:问题不在于如何通过javadoc进行评论或使用javadoc进行评论是合乎逻辑的.问题是在任何正式的Sun/Oracle文档中可以找到关于此事的内容(关于编写javadoc,约定,规范等的指南).另外请不要回答有关javadoc评论应该如何的问题,问题是关于应该评论什么,而不是如何评论.
如果您要编写从Lua调用的API(基于1,例如表索引从1开始),您是否会将相同的规则应用于API?
例如,假设你的API有一个名为GetFoo(x,y)的函数,它在坐标(x,y)处返回一个Foo.你会在API的(0,0)或(1,1)处开始你的坐标轴,假设在系统本身(比如用C或C++编写,基于0)这些东西从(0,0)开始(因此,如果您使用Lua约定,则在从lua堆栈中检索这些类型的操作的数字时,您总是必须减去1).
在MySQL中,表名称区分大小写,但列名称不区分大小写.
这个决定的 原因是什么?
两个人坚持一个公约不是更好吗?
我正在维护由SQL Server中的其他人创建的数据库.在一个表中,我找到了一个名称在方括号之间的列.该字段的名称是desc,它作为表存储在表中[desc].其他字段存储时没有方括号.这个选择背后有什么特殊原因/惯例吗?
构建在数据库之上的应用程序是用C#或VB.NET开发的.
谢谢
当一个函数不修改一个对象参数时,我总是让它要求一个常量引用,即使引用的对象不是真正的常量.这是错的吗?
对于包装类,我想写这个:
template<class B>
class Wrapper{
private:
B* base_;
public:
Wrapper(const B& b) { base_ = const_cast<B*>(&b); }
void ModifyBase();
};
Run Code Online (Sandbox Code Playgroud)
构造函数不会修改基数,因此它要求提供常量引用.
包装器有一些方法需要修改基类,因此它需要存储一个非常量指针(因此转换).
我觉得我的解决方案不是最好的.
有一个更好的方法吗?
有没有公认的惯例?
conventions ×10
java ×3
c++ ×2
api ×1
c# ×1
casting ×1
cocoa ×1
coding-style ×1
const ×1
database ×1
indices ×1
ios ×1
javadoc ×1
lua ×1
mysql ×1
naming ×1
objective-c ×1
sql-server ×1