标签: language-design

例外或错误代码的约定

昨天我和同事讨论了什么是首选的错误报告方法.主要是我们讨论了异常或错误代码的使用,以报告应用程序层或模块之间的错误.

您使用什么规则来决定是否抛出异常或返回错误代码以进行错误报告?

language-agnostic language-design

112
推荐指数
10
解决办法
5万
查看次数

为什么C#3.0对象初始化器构造函数括号是可选的?

似乎C#3.0对象初始化程序语法允许在存在无参数构造函数时排除构造函数中的打开/关闭括号对.例:

var x = new XTypeName { PropA = value, PropB = value };
Run Code Online (Sandbox Code Playgroud)

相反:

var x = new XTypeName() { PropA = value, PropB = value };
Run Code Online (Sandbox Code Playgroud)

我很好奇为什么构造函数打开/关闭括号对后面是可选的XTypeName

c# syntax types language-design initializer

111
推荐指数
4
解决办法
1万
查看次数

为什么标题中的C++内联函数?

注意:这不是关于如何使用内联函数或它们如何工作的问题,更多的是为什么它们按照它们的方式完成.

类成员函数的声明不需要定义函数inline,它只是函数的实际实现.例如,在头文件中:

struct foo{
    void bar(); // no need to define this as inline
}
Run Code Online (Sandbox Code Playgroud)

那么,为什么一类功能的内嵌实施是在头文件?为什么我不能把内联函数放在.cpp文件中?如果我在哪里尝试将内联定义放在.cpp文件中,我会得到一个错误:

error LNK2019: unresolved external symbol 
"public: void __thiscall foo::bar(void)"
(?bar@foo@@QAEXXZ) referenced in function _main 
1>C:\Users\Me\Documents\Visual Studio 2012\Projects\inline\Debug\inline.exe 
: fatal error LNK1120: 1 unresolved externals
Run Code Online (Sandbox Code Playgroud)

c++ theory language-design inline c++-faq

109
推荐指数
7
解决办法
9万
查看次数

为什么Java或C#中不允许多重继承?

我知道Java和C#中不允许多重继承.很多书只是说,不允许多重继承.但它可以通过使用接口来实现.没有讨论为什么不允许它.任何人都可以告诉我为什么不允许它?

c# java language-design multiple-inheritance

108
推荐指数
9
解决办法
7万
查看次数

为什么C#禁止只读局部变量?

与同事就此进行了友好的辩论.我们对此有一些想法,但想知道SO人群对此有何看法?

c# language-design readonly immutability

107
推荐指数
7
解决办法
2万
查看次数

基于零的月份编号

一些流行的编程语言使用月份编号,这个编号是1 - JavaScript会想到,Java也是如此,如果内存服务,则C是另一种.我有一些问题:

  • 如果你要忽略非专业人士使用的月份编号,为什么不为了一致性而忽略了外行人使用的日期编号,并从0开始每个月的天数?
  • 为什么这么常见?
  • 首先是谁的想法?

language-agnostic language-design date

98
推荐指数
2
解决办法
2万
查看次数

为什么C#中不允许使用const参数?

对于C++开发人员来说,它看起来很奇怪 在C++中,我们用来标记参数,const以确保它的状态不会在方法中改变.还有其他C++特定的原因,比如const ref为了传递ref而传递,并确保状态不会被更改.但是为什么我们不能在C#中标记为方法参数const?

为什么我不能像下面那样声明我的方法?

    ....
    static void TestMethod1(const MyClass val)
    {}
    ....
    static void TestMethod2(const int val)
    {}
    ....
Run Code Online (Sandbox Code Playgroud)

c# language-agnostic language-design

98
推荐指数
5
解决办法
3万
查看次数

PHP全局函数

global关键字的效用是什么?

是否有任何理由更喜欢一种方法?

  • 安全?
  • 性能?
  • 还要别的吗?

方法1:

function exempleConcat($str1, $str2)
{
  return $str1.$str2;
}
Run Code Online (Sandbox Code Playgroud)

方法2:

function exempleConcat()
{
  global $str1, $str2;
  return $str1.$str2;
}
Run Code Online (Sandbox Code Playgroud)

什么时候使用有意义global

对我来说,它似乎很危险 ......但它可能只是缺乏知识.我感兴趣的是记录(例如代码示例,文档链接......)技术原因.

提前致谢!


赏金

这是关于这个主题的一个很好的一般性问题,我(@Gordon)正在提供奖励以获得更多答案.无论您的答案是否与我的答案一致或给出不同的观点都无关紧要.由于该global主题时不时出现,我们可以使用一个很好的"规范"答案来链接.

php language-design

98
推荐指数
7
解决办法
2万
查看次数

R在python中有一个断言语句吗?

一个声明,检查某些内容是否为真,如果没有则打印给定的错误消息并退出

assert language-design r assertions

96
推荐指数
3
解决办法
2万
查看次数

R中的因素:不仅仅是烦恼?

R中的一种基本数据类型是因子.根据我的经验,因素基本上是一种痛苦,我从不使用它们.我总是转换为角色.我觉得奇怪的是我错过了一些东西.

是否有一些重要的函数示例使用因子作为分组变量,其中因子数据类型变得必要?我应该使用哪些因素?

language-design r internals r-factor

95
推荐指数
5
解决办法
2万
查看次数