V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX  ›  hutoer  ›  全部回复第 6 页 / 共 8 页
回复总数  152
1  2  3  4  5  6  7  8  
2021-12-26 17:08:45 +08:00
回复了 partystart 创建的主题 程序员 纯吐槽帖 关于 go 的 err 和重载
@Buges “后者返回 Color | ParseError”,这个说法不恰当,返回的还是 Color ,Parse 出错只不过抛异常。
前者函数内出错误( Color 这例子简单,大面上不会出错),也是会抛异常的。

“泛型代替不了重载的地方就不该用重载”,这个说绝对,下面这种:
add(float a,float b)
add(int a,int b,int c)
add(char a,char b,char c)

业务毕竟多种多样的,有重载还是利于简化代码的。

方式 1
FancyClassName FancyClassName::FancyClassName(params){
blabla...
}

instance = new FancyClassName(params)

方式 2
FancyClassName FancyClassName::new(params){
blabla...
}

instance = new FancyClassName()
instance.new(params)

我觉得还是方式 1 更好、更简洁。而且方式 1 规范了 constructor
方式 2 可以是 new 、create 、init 、build....,反而很乱

如果你说可以这样:
instance = new FancyClassName.new(params)

那么 new 就是 constructor ,换了名字而已
2021-12-26 16:01:17 +08:00
回复了 partystart 创建的主题 程序员 纯吐槽帖 关于 go 的 err 和重载
@Buges Color::from_rgb(u8,u8,u8)和 Color::from_hex(String)返回类型咋不一样了?都是 Color 实例呀。

泛型替代不了重载

至于“constructor 本身就是糟粕,可读性简洁性都不如直接用函数”,这个我就不讨论了,大家看问题的面不一样。
2021-12-26 14:33:49 +08:00
回复了 partystart 创建的主题 程序员 纯吐槽帖 关于 go 的 err 和重载
@cmdOptionKana golang make 会根据第一个参数做不同的处理,行为更像重载,变长参数不行。
另外,变长参数我反倒觉得是不良设计,尽量少用。

你说的 color.ByHex("#FFFFFF")这种方式,已经是牺牲可读性换取简洁性了。相对我的例子,还不是 OOP 的方式。

其实,我只是想说重载是有用的,而不是想证明没有重载不行。
2021-12-26 10:38:50 +08:00
回复了 partystart 创建的主题 程序员 纯吐槽帖 关于 go 的 err 和重载
@cmdOptionKana 我倒是觉得重载能降低心智负担、提升代码简洁渡,例如:
data := make([]int, 2)
data := make([]int, 2, 4)

比下面的简洁
data := makeXX1([]int, 2)
data := makeXX2([]int, 2, 4)

还有这种( Color 是构造函数)
color = new Color(0,0,255)

color = new Color("#FFFFFF")

color = new Color(Color::RED)

比下面的简洁
color = new Color()
color.setByRGB(0,0,255)

color = new Color()
color.setByHEX("#FFFFFF")

color = new Color()
color.setByName(Color::RED)
2021-12-26 09:58:50 +08:00
回复了 partystart 创建的主题 程序员 纯吐槽帖 关于 go 的 err 和重载
@cmdOptionKana 那你看看 golang make 的用法:
make(map[string]string)
make([]int, 2)
make([]int, 2, 4)

按照你说的风格,要是变成多个函数了,会不会被吐槽?
2021-12-26 09:23:01 +08:00
回复了 partystart 创建的主题 程序员 纯吐槽帖 关于 go 的 err 和重载
重载还是有用的,比如:
Color::Color(0,0,255)
Color::Color("#FFFFFF")
Color::Color(Color::RED)
2021-12-25 09:59:55 +08:00
回复了 tangdaoni 创建的主题 Python 想购一份全国企业的数据集。
前几年看到有人兜售,20 万。现在应该更高,毕竟好多口堵死了
给你提个醒:SSD 写入量不高也是会坏的,我有几块坏的 SSD 是放在服务器上的,写入量不超过 300G ,才半年不到的时间。
2021-12-24 21:10:27 +08:00
回复了 partystart 创建的主题 程序员 纯吐槽帖 关于 go 的 err 和重载
好像哪里看到一句话:golang 做简单的东西很简单,做复杂的东西很复杂
@leimao 声音的传播靠的都是振动,空气、建筑物等等,所以隔音房这种是有效果的
先尝试沟通,不过国人大多不自觉,沟通未必有用。上次看电影,后边一个男的给她女友说个不停,严重影响我看电影,我说你能不能别说了,结果那男人说:我就说,咋了咋了,哔哔个没完。

想要便宜的方案,估计没有,主动降噪、3M 耳塞都用过,噪音大的话效果一般。

可以试试淘宝上搜:隔音房、静音舱等
也就是在房间里再放一个隔音房

实在不行就是搬家,找偏僻些的小区
2021-12-18 21:12:03 +08:00
回复了 Features 创建的主题 Java 我现在感觉 Java 有点底层了
@Borch 没错,我这样的码农才是底层!
2021-12-17 19:50:33 +08:00
回复了 rophie123 创建的主题 Node.js nodejs 前后端一把梭的优势在哪?
php 貌似漏洞特别多,当然我的观念还在 php5 的时代,很久没碰 php 了
用 nodejs 的话,php 漏洞的问题解决了,算不算优势?
2021-12-17 16:26:59 +08:00
回复了 LxnChan 创建的主题 程序员 如何在 Shell 脚本中解析 json 并取出数据?
grep 'access_token\|refresh_token' | awk -F ':|,' '{print $2}'
2021-12-06 16:34:30 +08:00
回复了 zictos 创建的主题 Python Python 识别图片文字的效果是不是很差?
哪些个指责楼主的人,说白了还是自己心眼太小
2021-12-01 10:25:32 +08:00
回复了 lslvxy 创建的主题 NAS 求推荐一个家用的微型服务器
机械硬盘换成固态盘?
2021-11-30 16:19:19 +08:00
回复了 daijinming 创建的主题 程序员 办公室听 B 站课程听得耳朵疼,怎么解
平头塞、全包耳头戴、骨传导
提供商不能自定义回调 URL ?现在貌似都是统一的 域名 /callback
2021-11-29 15:58:29 +08:00
回复了 hutoer 创建的主题 C# .net core 有类似 moleculer 这样的微服务框架吗?
这几天在看 微软 Dapr ,有点意思
1  2  3  4  5  6  7  8  
关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   我们的愿景   ·   实用小工具   ·   1118 人在线   最高记录 6543   ·     Select Language
创意工作者们的社区
World is powered by solitude
VERSION: 3.9.8.5 · 34ms · UTC 18:31 · PVG 02:31 · LAX 11:31 · JFK 14:31
Developed with CodeLauncher
♥ Do have faith in what you're doing.