这是根据官方文档的信息:
可以在PHP中使用四对不同的开始和结束标记.其中两个,
<?php ?>并且<script language="php"> </script>始终可用.另外两个是短标签和ASP样式标签,可以从php.ini配置文件打开和关闭.因此,虽然有些人发现短标签和ASP样式标签很方便,但它们的便携性较差,一般不推荐.
在我的经验,大多数服务器都启用短标记.打字
<?=
Run Code Online (Sandbox Code Playgroud)
打字要方便得多
<?php echo
Run Code Online (Sandbox Code Playgroud)
程序员的便利是一个重要因素,为什么不推荐他们?
什么是将数字转换为字符串的"最佳"方式(在速度优势,清晰度优势,内存优势等方面)?
一些例子:
String(n)
n.toString()
""+n
n+""
我经常看到JavaScript代码检查未定义的参数等,这样:
if (typeof input !== "undefined") {
// do stuff
}
Run Code Online (Sandbox Code Playgroud)
这似乎有点浪费,因为它涉及类型查找和字符串比较,更不用说它的详细程度.这是必要的,因为'undefined'可以重命名.我的问题是:代码如何比这种方法更好:
if (null != input) {
// do stuff
}
Run Code Online (Sandbox Code Playgroud)
据我所知,你不能重新定义null,所以它不会意外地破坏.并且,由于!=运算符的类型强制,这将检查undefined和null ...这通常正是您想要的(例如,对于可选的函数参数).然而,这种形式似乎并不普遍,它甚至会导致JSLint对你使用邪恶的!=运算符大喊大叫.为什么这被认为是不好的风格?
我想在0和1之间切换变量.如果它是0我想将其设置为1,否则如果它是1我想将其设置为0.
这是我经常写的一个基本操作,我想研究最短,最清晰的方法.到目前为止,这是我最好的:
v = (v == 0 ? 1 : 0);
Run Code Online (Sandbox Code Playgroud)
你能改进吗?
编辑:问题是询问如何在保留清晰度的同时用最少的字符写上述语句 - 这怎么'不是真正的问题'?这不是一个代码高尔夫练习,虽然一些有趣的答案来自人们接近它作为高尔夫球 - 很高兴看到高尔夫球以建设性和发人深省的方式使用.
我知道骆驼案例规则,但我对这个规则感到困惑.它代表什么?我是一名PHP开发人员."我们"使用变量的第一个字母作为类型的指示,如"b"表示布尔值,"i"表示整数,依此类推.
是'Java'吗?它代表移动吗?混合使用吗?
我觉得我在Vim中做80列指示的方式不正确:set columns=80.有时我也是,set textwidth但我希望能够看到并预测线路溢出的set columns替代方案.
这有一些不幸的副作用 - 我不能set number因为害怕在具有不同行号顺序的文件之间进行拆分; 即<100行文件和> = 100行文件将需要两个不同的set columns值,因为附加数字显示使用了额外的列.我也开始新的(g)Vim会话而不是垂直分割窗口,这迫使我使用窗口管理器的剪贴板 - 每次打开或关闭窗格时都vsplit强制我这样做set columns,所以开始一个新的会话就不那么麻烦了.
当你想要set numbers,垂直分割等时,你如何处理80个字符的指示?
我正在迭代一个向量,需要迭代器当前指向的索引.AFAIK这可以通过两种方式完成:
it - vec.begin()std::distance(vec.begin(), it)这些方法的优点和缺点是什么?
PEP 08指出:
导入总是放在文件的顶部,就在任何模块注释和文档字符串之后,以及模块全局变量和常量之前.
但是,如果我导入的类/方法/功能仅在极少数情况下使用,那么在需要时进行导入肯定会更有效率吗?
不是这个:
class SomeClass(object):
def not_often_called(self)
from datetime import datetime
self.datetime = datetime.now()
Run Code Online (Sandbox Code Playgroud)
比这更有效率?
from datetime import datetime
class SomeClass(object):
def not_often_called(self)
self.datetime = datetime.now()
Run Code Online (Sandbox Code Playgroud) 我正在研究一个已知只能在Windows上运行并在Visual Studio下编译的代码库(它与excel紧密集成,所以它不会去任何地方).我想知道我是否应该使用传统的包含警卫或#pragma once用于我们的代码.我认为让编译器处理#pragma once会产生更快的编译,并且在复制和粘贴时不易出错.它也稍微不那么难看;)
注意:为了获得更快的编译时间,我们可以使用Redundant Include Guards,但这会在包含的文件和包含文件之间增加紧密耦合.通常它没关系,因为防护应该基于文件名,并且只有在你需要改变包含名称时才会改变.
什么是一些使用Haskell的开源程序,可以被认为是优质的现代Haskell?代码库越大越好.
我想从他们的源代码中学习.我觉得我已经超越了从小代码示例中学到的东西,这些代码通常是深奥的,小世界的.我想看看代码是如何构造的,当你有很多事情发生时,monad如何交互(日志记录,I/O,配置等).
coding-style ×10
javascript ×3
c++ ×2
android ×1
haskell ×1
iterator ×1
numbers ×1
open-source ×1
optimization ×1
performance ×1
php ×1
python ×1
string ×1
toggle ×1
variables ×1
vim ×1