如果你可以从PHP中删除一个功能,以阻止,阻止或以其他方式帮助阻止新程序员养成不良习惯或做法,或者阻止他们陷入可能妨碍他们开发技能的陷阱,那会是什么?为什么?
现在,在投票结束之前,它并不像你想象的那样开放。
我并不是纯粹地问什么是最糟糕的功能,或者你真的想要什么功能完全随意删除。是的,可能没有一个正确的答案,但我怀疑会有很多类似的答案,这些答案会让我对我可能做错的事情有所了解,即使是在不经意间也是如此。
答案 0 :(得分:6)
几乎所有php.ini
。 90%的选项都没有理由存在,特别是涉及自动输入的选项。
答案 1 :(得分:5)
mysql_query(),因为有太多糟糕的教程,从不提及转义。 Poeple应该切换到PDO并参数化SQL。
答案 2 :(得分:1)
这可能是一个奇怪的选择,但如果我必须选择一个能够吸引最多新手的功能,我会说INCLUDE_PATH
。
经验丰富的软件开发人员熟悉路径结构。几乎所有其他编程语言和操作系统接口都有搜索路径功能:shell PATH
,Java类路径,Perl @INC
等。但是,大量的新手只是不明白如何使用或解决这个非常常见的功能。
为了新手,我强迫他们在每次调用require
或include
时写出完整的绝对路径名。
答案 3 :(得分:0)
我投票支持弱动态类型,我会用强大的静态类型代替。这将有助于这么多人,而不仅仅是新手......
由于评论而编辑:
是的,我会替换打字。像Java / C#这样的其他语言中可以找到强大的静态类型,带来了更多安全性,并且令人惊讶地提高了代码的可读性。让我解释一下:
//Usual code anyone can have
function myFunction($arrayOfInts, $string)
{
if( !is_array($arrayOfInts) )
throw Exception();
if (!is_string($string))
throw Exception();
foreach($arrayOfInts as $supposedInt)
if ( !is_int($supposedInt) )
throw Exception();
/* Only now is business code. Oh wait no, you need to ensure
that these parameters follow your business rules (e.g. : $supposedInts < 5, etc..) */
}
//More readable code :
function myFunction(Array<int> $arrayOfInts, String $string)
{
//Easier no ?
}
我甚至不谈安全问题。因为使用空字符串作为数学函数的参数而发生了很多错误/错误...
仍然认为这会不好?
答案 4 :(得分:-1)
我将删除当前的函数命名方案。