w***g 发帖数: 5958 | 1 这段程序看过好多次,每次都看不下来。
今天又内伤了。已经两三个星期了。总共就100多行程序,就是看不懂。
就是看不懂...
当时是我决定用spark的。但手下程序员太强大了。现在他走了,
这段时间想更新下系统改进下算法,结果天天在看这100多行代码。
我心里现在无数只草泥马在扇自己巴掌。这辈子就没见过这么难懂的代码。 |
S*******e 发帖数: 525 | 2 In Scala? 我们用java 1.8 -- 用了快一年了,建了两个系统,感觉良好。 |
w***g 发帖数: 5958 | 3 是scala。就是map, reduce, join, map, reduce, join, map, reduce, join
然后变量都是_, _._1, _._2._1, _._2._3._1这种。
这100多行程序其实逻辑上就是两三行。我脑子里的cache hold不住这么长的行。
【在 S*******e 的大作中提到】 : In Scala? 我们用java 1.8 -- 用了快一年了,建了两个系统,感觉良好。
|
n******7 发帖数: 12463 | 4 贴出来观摩一下?
【在 w***g 的大作中提到】 : 是scala。就是map, reduce, join, map, reduce, join, map, reduce, join : 然后变量都是_, _._1, _._2._1, _._2._3._1这种。 : 这100多行程序其实逻辑上就是两三行。我脑子里的cache hold不住这么长的行。
|
w***g 发帖数: 5958 | 5 这个不能贴。潜在会惹麻烦。
【在 n******7 的大作中提到】 : 贴出来观摩一下?
|
g*****g 发帖数: 34805 | |
N********n 发帖数: 8363 | 7
你就REFACTOR一把,换名之后再试试。
【在 w***g 的大作中提到】 : 是scala。就是map, reduce, join, map, reduce, join, map, reduce, join : 然后变量都是_, _._1, _._2._1, _._2._3._1这种。 : 这100多行程序其实逻辑上就是两三行。我脑子里的cache hold不住这么长的行。
|
x*******1 发帖数: 28835 | |
x***4 发帖数: 1815 | 9 Map reduce 这些都很容易理解。
_._1这些如果经常出现要用case class或pattern matching提高阅读性。
你们之前code review有没有要求这些问题吗?
【在 w***g 的大作中提到】 : 是scala。就是map, reduce, join, map, reduce, join, map, reduce, join : 然后变量都是_, _._1, _._2._1, _._2._3._1这种。 : 这100多行程序其实逻辑上就是两三行。我脑子里的cache hold不住这么长的行。
|
w***g 发帖数: 5958 | 10 一针见血。就是要用pattern matching。
其实scala是能写得能懂的。问题是这种不能懂的代码它也能编译通过。
算了,今天就这么下班吧。明天先禅定半个小时再来看这段代码。
【在 x***4 的大作中提到】 : Map reduce 这些都很容易理解。 : _._1这些如果经常出现要用case class或pattern matching提高阅读性。 : 你们之前code review有没有要求这些问题吗?
|
|
|
B*****g 发帖数: 34098 | 11 谁叫不上spark sql的,斯卡拉不会code根本看不懂
【在 w***g 的大作中提到】 : 这段程序看过好多次,每次都看不下来。 : 今天又内伤了。已经两三个星期了。总共就100多行程序,就是看不懂。 : 就是看不懂... : 当时是我决定用spark的。但手下程序员太强大了。现在他走了, : 这段时间想更新下系统改进下算法,结果天天在看这100多行代码。 : 我心里现在无数只草泥马在扇自己巴掌。这辈子就没见过这么难懂的代码。
|
B*****g 发帖数: 34098 | 12 一个sprak搞源码的家伙说不写成_._1哪好意思说自己会斯卡拉呀
【在 x***4 的大作中提到】 : Map reduce 这些都很容易理解。 : _._1这些如果经常出现要用case class或pattern matching提高阅读性。 : 你们之前code review有没有要求这些问题吗?
|
l*******m 发帖数: 1096 | 13 搞到zeppelin里,一行一行的run, 看type, 和values
【在 w***g 的大作中提到】 : 这段程序看过好多次,每次都看不下来。 : 今天又内伤了。已经两三个星期了。总共就100多行程序,就是看不懂。 : 就是看不懂... : 当时是我决定用spark的。但手下程序员太强大了。现在他走了, : 这段时间想更新下系统改进下算法,结果天天在看这100多行代码。 : 我心里现在无数只草泥马在扇自己巴掌。这辈子就没见过这么难懂的代码。
|
l******t 发帖数: 55733 | 14 你们程序员太烂了。用pattern mtach,
val (foo, bar, ...) = ...
就解开tuple了 |
B********r 发帖数: 397 | 15 没错。 这个是你手下的问题,跟语言无关。用java一样能写的更乱
【在 l******t 的大作中提到】 : 你们程序员太烂了。用pattern mtach, : val (foo, bar, ...) = ... : 就解开tuple了
|
z****e 发帖数: 54598 | 16
java没有tuple,也不允许用纯数字命名变量
而且一般是自动生成的get方法,这个可读性就强点
【在 B********r 的大作中提到】 : 没错。 这个是你手下的问题,跟语言无关。用java一样能写的更乱
|
l******t 发帖数: 55733 | 17
这个_._1是这么解读的,第一个_是个placeholder,指代传入参数。这个_1是Tuple类
的函数,表示取tuple第一个值。
如果tuple参量过多,应该用case class。
pattern match要比get可读性强一百倍,功能强大1万倍。
【在 z****e 的大作中提到】 : : java没有tuple,也不允许用纯数字命名变量 : 而且一般是自动生成的get方法,这个可读性就强点
|
d******e 发帖数: 2265 | 18 scala这个玩意是听傻逼的。python可以搞named tuple好独多了。
【在 l******t 的大作中提到】 : : 这个_._1是这么解读的,第一个_是个placeholder,指代传入参数。这个_1是Tuple类 : 的函数,表示取tuple第一个值。 : 如果tuple参量过多,应该用case class。 : pattern match要比get可读性强一百倍,功能强大1万倍。
|
l******t 发帖数: 55733 | 19
有case class啊,全named
【在 d******e 的大作中提到】 : scala这个玩意是听傻逼的。python可以搞named tuple好独多了。
|
d****i 发帖数: 4809 | 20 scala这种欧洲左逼发明的装逼语言就是这样操蛋,喜欢玩文艺青年行为艺术故弄玄虚
摆酷装fancy,看看几个流行了几十年的主流语言:C, Java, PHP, Python,
JavaScript,无不以朴素平实易懂易维护易调试为首要,多写几行远比装逼要好。
【在 w***g 的大作中提到】 : 这段程序看过好多次,每次都看不下来。 : 今天又内伤了。已经两三个星期了。总共就100多行程序,就是看不懂。 : 就是看不懂... : 当时是我决定用spark的。但手下程序员太强大了。现在他走了, : 这段时间想更新下系统改进下算法,结果天天在看这100多行代码。 : 我心里现在无数只草泥马在扇自己巴掌。这辈子就没见过这么难懂的代码。
|
|
|
x***4 发帖数: 1815 | 21 是啊。我在9楼就说了用case class喝pattern match了。
【在 l******t 的大作中提到】 : : 有case class啊,全named
|
l******t 发帖数: 55733 | 22 是的。common sense
【在 x***4 的大作中提到】 : 是啊。我在9楼就说了用case class喝pattern match了。
|
q*c 发帖数: 9453 | 23 不被 Scala 打脸那是难得认识到这玩意的邪恶和人类的弱智。
你还没被 implicit 搞过吧?试试那个。
用了 Scala 系统规模一大一点,效率指数下降。
【在 w***g 的大作中提到】 : 是scala。就是map, reduce, join, map, reduce, join, map, reduce, join : 然后变量都是_, _._1, _._2._1, _._2._3._1这种。 : 这100多行程序其实逻辑上就是两三行。我脑子里的cache hold不住这么长的行。
|
q*c 发帖数: 9453 | 24 那是能写好,但是 Scala 这玩意很邪门,这个语言有传染性,特别鼓励人性邪恶的一
面。社区的歪风就是以写特别短集成度高难以阅读的程序为荣。
我开始及其痛恨不清楚易读的程序,但是现在有机会也是满地的 underscore.
回头想想为啥呢?因为人太多弱点抄近路让自己方便, 不让别人方便,这是人自私本
性决定的,不可能改变。,Scala 偏偏鼓励这个。
【在 w***g 的大作中提到】 : 一针见血。就是要用pattern matching。 : 其实scala是能写得能懂的。问题是这种不能懂的代码它也能编译通过。 : 算了,今天就这么下班吧。明天先禅定半个小时再来看这段代码。
|
q*c 发帖数: 9453 | 25 关系大了。 就像在集市里面有人拿机枪和匕首搞屠杀,你看看后果有啥不同?
【在 B********r 的大作中提到】 : 没错。 这个是你手下的问题,跟语言无关。用java一样能写的更乱
|
l***p 发帖数: 358 | 26 second to this
只管自己爽,谁他妈在项目里给我提scala我直接让他闭嘴滚粗
【在 d****i 的大作中提到】 : scala这种欧洲左逼发明的装逼语言就是这样操蛋,喜欢玩文艺青年行为艺术故弄玄虚 : 摆酷装fancy,看看几个流行了几十年的主流语言:C, Java, PHP, Python, : JavaScript,无不以朴素平实易懂易维护易调试为首要,多写几行远比装逼要好。
|
j**********3 发帖数: 3211 | |
l*******g 发帖数: 27064 | 28 等几个月半年一年的,让你回头自己改自己的程序,就爽大了
话说就100多行的程序不能用别的重写?
【在 q*c 的大作中提到】 : 那是能写好,但是 Scala 这玩意很邪门,这个语言有传染性,特别鼓励人性邪恶的一 : 面。社区的歪风就是以写特别短集成度高难以阅读的程序为荣。 : 我开始及其痛恨不清楚易读的程序,但是现在有机会也是满地的 underscore. : 回头想想为啥呢?因为人太多弱点抄近路让自己方便, 不让别人方便,这是人自私本 : 性决定的,不可能改变。,Scala 偏偏鼓励这个。
|
c*********e 发帖数: 16335 | 29 scala 和 perl一个德性,装b.
【在 d****i 的大作中提到】 : scala这种欧洲左逼发明的装逼语言就是这样操蛋,喜欢玩文艺青年行为艺术故弄玄虚 : 摆酷装fancy,看看几个流行了几十年的主流语言:C, Java, PHP, Python, : JavaScript,无不以朴素平实易懂易维护易调试为首要,多写几行远比装逼要好。
|