我很好奇其他人如何使用this关键字.我倾向于在构造函数中使用它,但我也可以在其他方法中使用它.一些例子:
在构造函数中:
public Light(Vector v)
{
this.dir = new Vector(v);
}
Run Code Online (Sandbox Code Playgroud)
别处
public void SomeMethod()
{
Vector vec = new Vector();
double d = (vec * vec) - (this.radius * this.radius);
}
Run Code Online (Sandbox Code Playgroud) 我正在尝试使用像这样的样式的TextView构造函数:
TextView myText = new TextView(MyActivity.this, null, R.style.my_style );
但是,当我这样做时,文本视图似乎不采用样式(我通过在静态对象上设置它来验证样式).
我也尝试过使用myText.setTextAppearance(MyActivity.this, R.style.my_style)但它也不起作用
我今天在一些PHP代码中看到了这个:
$items = $items ?: $this->_handle->result('next', $this->_result, $this);
Run Code Online (Sandbox Code Playgroud)
我不熟悉?:这里使用的运算符.它看起来像一个三元运算符,但是省略了判断谓词是否为真的表达式.这是什么意思?
在Python中创建新空列表的最佳方法是什么?
l = []
Run Code Online (Sandbox Code Playgroud)
要么
l = list()
Run Code Online (Sandbox Code Playgroud)
我问这个是因为两个原因:
我希望这有资格作为一个编程问题,就像在任何编程教程中一样,你最终会在代码示例中遇到'foo'.(是的,对吧?)
'foo'到底意味着什么?
如果它意味着什么都没有,它何时开始被使用呢?
我对CamelCase有疑问.你有这个缩写:Unesco = United Nations Educational, Scientific and Cultural Organization.
你应该写: unitedNationsEducationalScientificAndCulturalOrganization
但是如果你需要写首字母缩略词怎么办?就像是:
getUnescoProperties();
Run Code Online (Sandbox Code Playgroud)
用这种方式写它是对的吗? getUnescoProperties() OR getUNESCOProperties();
我一直在与一小群人一起开展编码项目,以获得乐趣.这是一个有组织,相当有凝聚力的团体.我与之合作的人都拥有与编程相关的各种技能,但其中一些使用较旧的或完全错误的方法,例如过多的全局变量,较差的命名约定等.虽然事情有效,但执行情况很差.礼貌地询问或介绍他们使用更好的方法,而不是质疑(或侮辱)他们的经验和/或教育的方法是什么?
在过去,我总是使用下划线来定义HTML中的class和id属性.在过去的几年里,我改用破折号,主要是为了让自己与社区的趋势保持一致,不一定是因为它对我有意义.
我一直认为破折号有更多的缺点,我没有看到它的好处:
大多数编辑器将破折号视为单词分隔符,因此我无法通过选项卡切换到我想要的符号.说类是" featured-product",我必须自动完成" featured",输入连字符,然后完成" product".
下划线" featured_product"被视为一个单词,因此可以一步填充.
这同样适用于浏览文档.通过单词跳转或双击类名会被连字符打破.
(更一般地说,我认为类和ID是标记,所以对我来说,标记应该在连字符上很容易拆分是没有意义的.)
使用破折号会破坏对JavaScript中表单元素的对象属性访问.这只能用下划线表示:
form.first_name.value='Stormageddon';
Run Code Online (Sandbox Code Playgroud)
(不可否认,我自己并不以这种方式访问表单元素,但是当决定破折号和下划线作为通用规则时,请考虑某人可能.)
像Sass这样的语言(特别是在整个Compass框架中)已经将破折号作为标准,即使对于变量名称也是如此.他们最初也开始使用下划线.这被解析的事实让我感到奇怪:
$list-item-10
$list-item - 10
Run Code Online (Sandbox Code Playgroud)
在当天,我曾经用underscored_namesPHP,ruby,HTML/CSS和JavaScript 编写变量.这是方便和一致的,但再次为了"适应"我现在使用:
dash-case 在HTML/CSS中camelCase 在JavaScript中underscore_case 在PHP和ruby中这对我来说并没有太多困扰,但我想知道为什么这些看起来如此错位,似乎是故意的.至少使用下划线可以保持一致性:
var featured_product = $('#featured_product'); // instead of
var featuredProduct = $('#featured-product');
Run Code Online (Sandbox Code Playgroud)
差异造成了我们不得不不必要地翻译字符串以及可能存在错误的情况.
所以我问:为什么社区几乎普遍以破折号为主,是否有任何理由超过下划线?
从这个开始的时间开始有一个相关的问题,但我认为它不是(或不应该)只是一个品味的问题.我想了解为什么我们都认为这个大会只是一个品味问题.
一些代码样式工具推荐这个,我记得看到一些unix命令行工具警告缺少空行.
有多余空行的原因是什么?
我不是一个PHP开发人员,所以我不知道如果PHP是比较流行的使用显式的getter/setter方法,在纯OOP的风格,与私人领域(我喜欢的方式):
class MyClass {
private $firstField;
private $secondField;
public function getFirstField() {
return $this->firstField;
}
public function setFirstField($x) {
$this->firstField = $x;
}
public function getSecondField() {
return $this->secondField;
}
public function setSecondField($x) {
$this->secondField = $x;
}
}
Run Code Online (Sandbox Code Playgroud)
或只是公共领域:
class MyClass {
public $firstField;
public $secondField;
}
Run Code Online (Sandbox Code Playgroud)
谢谢