V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX  ›  hutoer  ›  全部回复第 6 页 / 共 9 页
回复总数  163
1  2  3  4  5  6  7  8  9  
2021-12-30 15:39:35 +08:00
回复了 balabalaguguji 创建的主题 程序员 给大家分享下我对“运营”的不友好看法
劣币驱逐良币?我觉得还是被一些大公司带坏的
2021-12-28 08:54:51 +08:00
回复了 Calatrava 创建的主题 C++ 推荐一个 C++ RESTful 框架
好多年前,我接到一个任务,开发一个响应时间极低(具体多少现在忘了)的 web 服务,我就用 libevent 和 C++编写,效果很好:快、稳。
2021-12-26 22:13:02 +08:00
回复了 Edison666666 创建的主题 程序员 unity 的热更新技术咋样
IL Runtime 这个是 C#的
2021-12-26 17:31:00 +08:00
回复了 partystart 创建的主题 程序员 纯吐槽帖 关于 go 的 err 和重载
@Buges 抛出异常和返回错误值还是不一样的,调用的地方处理也不一样。就算是返回错误值,可以 Result<Color,Error>,Error 是基类,你这样 Result<Color,ParseError>,有其他类型的错误咋返回?所以 Color::from_rgb(u8,u8,u8)和 Color::from_hex(String)返回类型没有区别。

我那个例子,参数个数不一样的。
2021-12-26 17:18:26 +08:00
回复了 partystart 创建的主题 程序员 纯吐槽帖 关于 go 的 err 和重载
我看错了,把 FancyClassName.new(params) 当实例函数了
2021-12-26 17:11:54 +08:00
回复了 partystart 创建的主题 程序员 纯吐槽帖 关于 go 的 err 和重载
instance = new FancyClassName.new(params) 这个写错了
instance = FancyClassName.new(params)
这个其实不算 constructor
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 万。现在应该更高,毕竟好多口堵死了
2021-12-24 21:10:27 +08:00
回复了 partystart 创建的主题 程序员 纯吐槽帖 关于 go 的 err 和重载
好像哪里看到一句话:golang 做简单的东西很简单,做复杂的东西很复杂
1  2  3  4  5  6  7  8  9  
关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2275 人在线   最高记录 6679   ·     Select Language
创意工作者们的社区
World is powered by solitude
VERSION: 3.9.8.5 · 19ms · UTC 01:44 · PVG 09:44 · LAX 17:44 · JFK 20:44
Developed with CodeLauncher
♥ Do have faith in what you're doing.