非常不喜欢「另一种写法」

2015-11-24 17:38:50 +08:00
 iugo

在看某些语言文档或者某些框架的过程中,总会看到「另一种写法」。

达成的目的完全一样,只是写法不同。也不算是语法糖,因为二者(或者三者)复杂度一样。

这样的目的应该是方便使用其它语言或者另一种思维习惯。想让自身更具包容性。

可是这让我很困绕,我感觉很乱。我也不能只掌握一种写法。只要语言或框架本身给出了这种用法,那么肯定会有人用到,然后在看别人代码的时候就会看到各种写法。可是做一件事情的多种写法(不是解题的多种思路)一来浪费了我的(一点点)精力,二来让我心里觉得不舒服。

不知道会对这种情况心里感到不舒服的是否只有我。

3941 次点击
所在节点    程序员
23 条回复
julyclyde
2015-11-24 18:03:50 +08:00
lunaticus7
2015-11-24 18:15:42 +08:00
RUBY 中枪无数,已倒在楼主的加特林之下 [=.=]
jzfr
2015-11-24 18:16:59 +08:00
如果都只提供一种选择,又会有喷子不停的喷:“多个选择总是好的”!

即然叫多种不同的写法,总有他微小的区别,往往微小的细节带来的结果区别很大,不要轻易的说“其实一样,其实差不多” 这类结论。

如果你只喜欢一种写法,那你随便选个你看的顺眼的写法就可以了,忽略你不想要不想看的写法就可以了,你就当他只有一种写法就可以了。没人强迫你看第二种写法啊。

这就好象选女朋友,纵使你弱水三千只取一瓢而饮,但其他女人不是就不该存在吧,你有什么权利代替别人做出取舍,别人就喜欢很多女人给他挑,别说什么蒙上脸都是一样的生孩子。
FrankFang128
2015-11-24 18:17:28 +08:00
那你用 Java 就好了,只有 OOP
scarlex
2015-11-24 18:18:11 +08:00
@lunaticus7 JS 也是
dorentus
2015-11-24 18:19:49 +08:00
不知道某些事情(即便对某群人来说那是常识)是很正常的,拒绝了解自己不知道的事物才是不好的。所以没有必要记住所有的啊,用多见多的东西自然会记得,其它的有文档和搜索引擎。
lecher
2015-11-24 19:27:43 +08:00
代码写得少而想得太多。
在代码的世界里每一种解决思路都有优点和缺点,不可能存在一个通用模型去解决问题的。实际开发都是根据业务规模和交付时间去选型,可能用着用着架构就要大改,实际情况的制约多着呢。
在我看来这个行业最坑的是开发的时候要考虑人员平均开发水平,像我这样的半桶水太多导致很多高手开发的时候不得不考虑后续招人能力不足,而降低对 magic code 的使用,比如选择开发人员基数大的语言和版本,使用比较繁琐但易于理解的代码,放弃了很多生产力更先进的工具和开发模型。
SpicyCat
2015-11-24 19:29:09 +08:00
题主非常适合 Python ,别碰 Ruby
caixiexin
2015-11-24 19:42:58 +08:00
奥卡姆剃刀原则?
Phariel
2015-11-24 19:56:19 +08:00
哈哈 我第一反应就是 Ruby 一个团队几个人写的代码互相看不懂。。。
DingSoung
2015-11-24 20:06:08 +08:00
那谁说 茴香豆的“ hui ”有 3 种写法
ibigbug
2015-11-24 20:52:00 +08:00
两种写法肯定是有关联的,会一种,再学一种简直不费吹灰之力。
Comdex
2015-11-24 21:15:12 +08:00
在这方面 golang 应该做得比较好
magicdawn
2015-11-24 21:35:49 +08:00
Python, 呵呵哒~

urllib, urllib2, urllib3, ....
linux40
2015-11-24 22:31:05 +08:00
举个例子,动态规划一般有两中算法,一种自下而上的方法,一种带备份的递归方法,你一般会用哪种呢?
比如我今天碰到第一个问题时,我用的第二种,因为第二种更直观,并且当时我实在是没想清楚怎么用一种写。
但是第二个问题,我用的第一种,虽然第二种更直观,但在一般情况下,循环比递归更高效,并且,我没过多久就想到了第一种写法。
所以「另一种写法」并非没有意义,那么没有意义的是没有意义地用多种写法吗?这个也不好说,比如关于这个循环你是用 for 还是 while 的问题。。。
bombless
2015-11-25 04:09:48 +08:00
来我大 Rust 阵营吧。最近有人提议加三目运算符,因为和 Rust 原有的 if-else 结构功能一样而被狠狠批评了一番
iugo
2015-11-25 09:49:25 +08:00
@lecher
@linux40

谢谢。多种解法我是很愿意学习的。我只是说:
> 可是做一件事情的多种写法(不是解题的多种思路)

只是写法。

我说的多种写法产生的原因可能是这样的:

1. 语言发展,历史原因导致。
2. 随着语言的发展,它希望让另一种语言的使用者也试试自己。
iugo
2015-11-25 10:00:52 +08:00
@caixiexin 我的本意没有那么复杂。不过谢谢,了解到了新知识。
C1ara
2015-11-25 12:20:55 +08:00
脾气真好 换成 Linus 大概就是[你这个代码写的 shit 一样还敢放出来安利!]
能看懂是一回事 怎么写又是另外一回事啦 强行安利是挺烦的 尤其对层主这种渣来说_(;3>
robertlyc
2015-11-25 13:52:08 +08:00
适合独裁 不适合普世

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/238581

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX