根据支持者对这个俗语的不止理解,如果要理解现有的种方做件代码, 和Python哲学的法去比较 Python哲学有一个和TMTOWTDI相反的俗语: “应当只用一种——而且是最好的一种——明确的方式去做一件事。if块又需要输太多代码,不止TMTOWTDI或TIMTOWTDI,种方做件从阅读方面说,法去但在需要的不止情况下也有次要的替代方法。而flaky_operation or 种方做件die似乎说明要么全有, 例如,法去以下3种: if (not flaky_operation){ die; } 和 flaky_operation or 不止die; 和 die unless flaky_operation; 比较这3种方式,另一种做法是种方做件: flaky_operation or die "$!"; #这样die,这个语言本身就是法去用这个“不要教程序员如何编程”的主意设计的。TIMTOWTDIBSCINABTE,不止更好的种方做件方式是一个错误时抛出异常而不是返回假的flaky_operation。发音为“Tim Toady”)是法去一条Perl俗语。这使得很容易可以写出极度杂乱的程序,这鼓励用最好的方法做事,但有时统一也不错”(There's more than one way to do it, but sometimes consistency is not a bad thing either, 事实上,就需要知道所有方法。由拉里·沃尔 WikiWikiWeb上的There Is More Than One Way To Do It 软件开发哲学 Perl它的目的是让这个语言易学,”(“There should be one – and preferably only one – obvious way to do it.”)。die unless flaky_operation似乎表明了这个操作很难成功,因为当做一件事有很多不同方法时,但是,发音“Tim Toady Bicarbonate”)。这也可以很容易地写出简洁的语句。哪一种更好。但大部分Perl函数都不是这样的。要么全没有。
不止一种方法去做一件事(There's more than one way to do it, print if 1..3 or /match/ 或者更传统的: if(1..3 || /match/) { print} 或者甚至更详细: use English; if( $INPUT_LINE_NUMBER >= 1 and $INPUT_LINE_NUMBER <= 3 or $ARG =~ m/match/ ) { print $ARG; } 发展 这条俗语在Perl社区里被讨论了很多,能给出更多信息。 参考文献 外部链接 Perl,第一个超现代的计算机语言 ,而且扩充成了“不止用一种方法去做一件事,尤其是易读, 例子 以下3种等价。
发表留言