fbpx
维基百科

不止一种方法去做一件事

不止一种方法去做一件事There's more than one way to do itTMTOWTDITIMTOWTDI,发音为“Tim Toady”)是一条Perl俗语。这个语言本身就是用这个“不要教程序员如何编程”的主意设计的。这使得很容易可以写出极度杂乱的程序,但是,根据支持者对这个俗语的理解,这也可以很容易地写出简洁的语句。

例子 编辑

以下3种等价。

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社区里被讨论了很多,而且扩充成了“不止用一种方法去做一件事,但有时统一也不错”(There's more than one way to do it, but sometimes consistency is not a bad thing eitherTIMTOWTDIBSCINABTE,发音“Tim Toady Bicarbonate”[1]

例如,以下3种:

if (not flaky_operation){  die; } 

flaky_operation or die; 

die unless flaky_operation; 

比较这3种方式,哪一种更好。从阅读方面说,die unless flaky_operation似乎表明了这个操作很难成功,if块又需要输太多代码,而flaky_operation or die似乎说明要么全有,要么全没有[2]

事实上,更好的方式是一个错误时抛出异常而不是返回假的flaky_operation。但大部分Perl函数都不是这样的。另一种做法是:

flaky_operation or die "$!"; #这样die,能给出更多信息。 

[2]

和Python哲学的比较 编辑

Python哲学有一个和TMTOWTDI相反的俗语: “应当只用一种——而且是最好的一种——明确的方式去做一件事。”(“There should be one – and preferably only one – obvious way to do it.”)[3]。这鼓励用最好的方法做事,但在需要的情况下也有次要的替代方法。它的目的是让这个语言易学,尤其是易读,因为当做一件事有很多不同方法时,如果要理解现有的代码,就需要知道所有方法。

参考文献 编辑

  1. ^ Can EPO (or TPF) tame TIMTOWTDI?. dev411.com. 2009-01-24. [永久失效連結]
  2. ^ 2.0 2.1 There Is More Than One Way To Do It. [2012-08-17]. (原始内容于2006-08-28). 
  3. ^ . Python.org. 2004-08-23 [2012-08-17]. (原始内容存档于2022-02-27). 

外部链接 编辑

不止一种方法去做一件事, there, more, than, tmtowtdi或timtowtdi, 发音为, toady, 是一条perl俗语, 这个语言本身就是用这个, 不要教程序员如何编程, 的主意设计的, 这使得很容易可以写出极度杂乱的程序, 但是, 根据支持者对这个俗语的理解, 这也可以很容易地写出简洁的语句, 目录, 例子, 发展, 和python哲学的比较, 参考文献, 外部链接例子, 编辑以下3种等价, print, match, 或者更传统的, match, print, 或者甚至更详细, en. 不止一种方法去做一件事 There s more than one way to do it TMTOWTDI或TIMTOWTDI 发音为 Tim Toady 是一条Perl俗语 这个语言本身就是用这个 不要教程序员如何编程 的主意设计的 这使得很容易可以写出极度杂乱的程序 但是 根据支持者对这个俗语的理解 这也可以很容易地写出简洁的语句 目录 1 例子 2 发展 3 和Python哲学的比较 4 参考文献 5 外部链接例子 编辑以下3种等价 print if 1 3 or match 或者更传统的 if 1 3 match print 或者甚至更详细 use English if INPUT LINE NUMBER gt 1 and INPUT LINE NUMBER lt 3 or ARG m match print ARG 发展 编辑这条俗语在Perl社区里被讨论了很多 而且扩充成了 不止用一种方法去做一件事 但有时统一也不错 There s more than one way to do it but sometimes consistency is not a bad thing either TIMTOWTDIBSCINABTE 发音 Tim Toady Bicarbonate 1 例如 以下3种 if not flaky operation die 和 flaky operation or die 和 die unless flaky operation 比较这3种方式 哪一种更好 从阅读方面说 die unless flaky operation似乎表明了这个操作很难成功 if块又需要输太多代码 而flaky operation or die似乎说明要么全有 要么全没有 2 事实上 更好的方式是一个错误时抛出异常而不是返回假的flaky operation 但大部分Perl函数都不是这样的 另一种做法是 flaky operation or die 这样die 能给出更多信息 2 和Python哲学的比较 编辑Python哲学有一个和TMTOWTDI相反的俗语 应当只用一种 而且是最好的一种 明确的方式去做一件事 There should be one and preferably only one obvious way to do it 3 这鼓励用最好的方法做事 但在需要的情况下也有次要的替代方法 它的目的是让这个语言易学 尤其是易读 因为当做一件事有很多不同方法时 如果要理解现有的代码 就需要知道所有方法 参考文献 编辑 Can EPO or TPF tame TIMTOWTDI dev411 com 2009 01 24 永久失效連結 2 0 2 1 There Is More Than One Way To Do It 2012 08 17 原始内容存档于2006 08 28 PEP 20 The Zen of Python Python org 2004 08 23 2012 08 17 原始内容存档于2022 02 27 外部链接 编辑Perl 第一个超现代的计算机语言 页面存档备份 存于互联网档案馆 由拉里 沃尔 WikiWikiWeb上的There Is More Than One Way To Do It 页面存档备份 存于互联网档案馆 取自 https zh wikipedia org w index php title 不止一种方法去做一件事 amp oldid 71759205, 维基百科,wiki,书籍,书籍,图书馆,

文章

,阅读,下载,免费,免费下载,mp3,视频,mp4,3gp, jpg,jpeg,gif,png,图片,音乐,歌曲,电影,书籍,游戏,游戏。