我最近一直在动摇我的编码习惯,并且一直在玩各种编码风格的方法...比如在方法调用括号和它们包含的参数之间使用空格,如何处理多行数组定义和方法调用等
尽管如此,我还是想要创造一切个人风格,并希望浏览一些备受推崇的"权威"风格指南.我应该看哪些?我很难找到Zend指南以外的其他内容.
我正在学习AngularJS.所有开箱即用指令都有完整的清单吗?在常见问题中提到ng-repeat,ng-show和ng-class,但我会感到有很多人.看起来很奇怪我找不到一个地方去发现其余的.
我已经深入了解(至少在PHP中)使用try... catch块进行流量控制是badbadmojo .我学到的只是使用它们来处理意外错误,而不是确定程序的逻辑流程,因为catch块很昂贵.
现在我正在学习python,我看到了很多例外和EAFP原则.这是否意味着python在处理异常方面更有效率,所以我不需要为流量控制担心它们,或者原理是否仍然存在?如果没有,那么PHP是规范的异常(与其他语言相比),还是Python?
为什么几乎我能找到的每个例子(包括大约一年前的这个问题)都说404标题应该是HTTP/1.0 404 Not Found我们真正使用HTTP 1.1超过十年的时候?有没有理由不发送HTTP/1.1 404 Not Found?
(这并不重要......我大多只是好奇.)
我见过的关于RESTful架构的所有示例都处理了一条记录.例如,mydomain.com/foo/53要获取foo 53 的GET请求或mydomain.com/foo创建新Foo 的POST .
但是多条记录呢?能够通过id请求一系列Foos或发布一系列新Foo通常会通过单个API请求而不是数十个单独请求更有效.你会"重载" mydomain.com/foo来处理单个或多个记录的请求吗?或者你会添加一个mydomain.com/foo-multiple来处理多个POST和GET?
我正在设计一个可能需要同时获取许多记录的系统(类似于某些内容mydomain.com/foo/53,54,66,86,87)但是由于我没有看到任何这样的例子,我想知道是否有一些我只是没有得到关于RESTful架构的东西这使得这种方法"错误".
我已经看过很多带有以下语法的jQuery代码,但我真的不明白它的含义.它出现在这个答案和关于代码组织的问题的答案中.两者都谈论命名空间,所以我猜这就是它的成就.
var foo = (function () {
var someVar;
function someFunc() {
return true;
}
})();
Run Code Online (Sandbox Code Playgroud)
这是用于命名空间,它是如何工作的?有时在最后一组括号中有一个名称(命名空间?),有时不是.两者有什么区别?
我想知道我是否可以使用静态变量进行优化:
public function Bar() {
static $i = moderatelyExpensiveFunctionCall();
if ($i) {
return something();
} else {
return somethingElse();
}
}
Run Code Online (Sandbox Code Playgroud)
我知道,一旦$i初始化,它将不会被连续调用的那行代码所改变Bar().我认为这意味着moderatelyExpensiveFunctionCall()每次打电话都不会评估,但我想肯定地知道.
一旦PHP看到一个已初始化的静态变量,它是否会跳过该行代码?换句话说,如果我打了很多电话Bar(),或者我在浪费时间,这会优化我的执行时间吗?
我开始学习python,我很乐意用一系列简单的挑战来"测试"自己.比如"编写一个按字母顺序对列表进行排序的函数","编写一个函数将下划线分隔的字符串转换为驼峰式"等等.我基本上都在寻找一系列问题,以便在我包装时完成工作围绕python(想想CS 101家庭作业):要么是10-15个想法的列表,要么是一个链接.
特别使用python的独特功能,如元组,生成器等的东西的奖励积分.对每个问题的正确方向点头也不会有问题.
我正在为课程构建单元测试Foo,而且我对单元测试也很新.
我的类的一个关键组件是一个BarCollection包含许多Bar对象的实例.Foo迭代集合的一种方法是在集合中的每个Bar对象上调用几个方法.我想使用存根对象为我的测试类生成一系列响应.在Bar迭代时如何使存根类返回不同的值?我试图沿着这些方向做点什么:
$stubs = array();
foreach ($array as $value) {
$barStub = $this->getMock('Bar');
$barStub->expects($this->any())
->method('GetValue')
->will($this->returnValue($value));
$stubs[] = $barStub;
}
// populate stubs into `Foo`
// assert results from `Foo->someMethod()`
Run Code Online (Sandbox Code Playgroud)
因此,Foo->someMethod()将根据从Bar对象接收的结果生成数据.但是,只要数组长于1,就会出现以下错误:
There was 1 failure:
1) testMyTest(FooTest) with data set #2 (array(0.5, 0.5))
Expectation failed for method name is equal to <string:GetValue> when invoked zero or more times.
Mocked method does not exist.
/usr/share/php/PHPUnit/Framework/MockObject/Mock.php(193) …Run Code Online (Sandbox Code Playgroud) 我遇到了最奇怪的错误!我在twitter bootstrap组件页面中逐行使用代码进行下拉列表,但是我没有得到相同的结果.这是我的下拉看起来像.

我没有覆盖任何bootstrap css.我甚至删除了所有样式表并使用了JUST按钮,我仍然得到相同的结果.
PS:我正在使用rails will-paginate-bootstrap插件...我假设有所有必要的bootstrap文件
这是我的HTML输出
<div class="btn-group">
<a class="btn btn-primary" href="/user/profile/test_user">
<i class="icon-user icon-white"></i>
test_user
</a>
<a class="btn btn-primary dropdown-toggle" data-toggle="dropdown">
<span class="caret"></span>
</a>
<ul class="dropdown-menu">
</ul>
</div>
Run Code Online (Sandbox Code Playgroud) php ×4
python ×2
angularjs ×1
closures ×1
coding-style ×1
collections ×1
exception ×1
header ×1
http ×1
javascript ×1
jquery ×1
optimization ×1
phpunit ×1
rest ×1
stub ×1
syntax ×1
unit-testing ×1