虽然说重构的思路、理念都是一样的,但是看朋友送的 《重构改善既有代码的设计(第二版)》这本书,由于对 javascript 不熟悉,看起来有些吃力,可能要先花点时间专门学习学习 js 。想请教广告技术大佬 V 友:
1.有没有类似重构的书籍,使用 c/c++
2.不限于书籍,任何形式,可以是专栏 视频教程 付费免费的都行
3.学历 c/c++的语法,想通过 抛出问题---》尝试优化---》看书中的优化方法,来提高自己
1
csfreshman OP 视频 付费教程都可以,电子版 实体书都行,不限任何形式。
|
2
macha 2023-11-11 12:26:17 +08:00
没有完备测试用例的项目真心不敢重构。
|
3
iOCZS 2023-11-11 12:37:18 +08:00
市面上 90%以上的书都是理论性的,来自实践经验的很少
|
4
lzgshsj 2023-11-11 13:31:40 +08:00
那就顺便学学 js 嘛,用处也多。我觉得会用 c/c++的人看 js 的语法应该是玩儿一样的。
更何况重构更多是重思想,方法都是一通百通的。第一版还是用 java 写的,后面第二版换了 js 思想也通用。 |
5
Greendays 2023-11-11 13:57:12 +08:00
这个 js 的书我看过。我觉得不用太纠结它 JS 的语言,思路是通用的。
|
6
dddys 2023-11-11 16:40:38 +08:00
思路不是相通的吗
|
7
csfreshman OP |
8
csfreshman OP @macha 确实不敢重构,但重构与否我理解都不影响提升自己哈
|
9
csfreshman OP @dddys 思路是相同的,但可能吸收效果没有那么好,已经看了一天 javascript 了,哈哈哈
|
10
wjx0912 2023-11-11 17:21:03 +08:00
Martin Fowler 的这本太抽象。推荐先看《大话重构》,写的通俗易懂,java 代码和 c++差不多
|
11
artnowben 2023-11-11 18:48:54 +08:00
要写出易于重构代码,遵循一些好的原则,例如:
1. 设计上 kiss: keep it simple and stupid 2. 变量、函数好的命名 3. 函数高内聚低耦合 多看看一些优秀的 C 开源项目,例如 nginx 、dperf https://dperf.org/ |
12
owen800q 2023-11-11 20:40:19 +08:00
chatgpt
|
13
araraloren 2023-11-11 21:24:11 +08:00 3
c++不需要重构,需要重写
|
14
duron600 2023-11-12 00:24:16 +08:00
目前有三个版本:Java 版、Ruby 版、JavaScript 版。吃力就吃力呗,这书属于认真啃过一遍收益满满的。
可惜无论是工作中还是网络上,一旦谈起“重构”,95% 以上的人给我的感觉是这书只翻了前面几页,然后看了一下“提炼函数”、“内联函数”、“提炼变量”,大概就把书扔一边了。 然后他们一旦谈起重构,就是“很费时间”、“没时间重构”、“会把代码改出 bug”、“能运行的代码就不要动”,我就觉得很搞笑。 无论他们在谈“重构”还是“重写”,谈的其实都是“重写”。 |
15
jones2000 2023-11-13 09:43:13 +08:00
@duron600 没有完备的自动化测试, 就算重构了, 也不敢上线, 出问题了谁背锅。代码能跑就不要动。除非你是老板,你能扛锅。
|
16
duron600 2023-11-13 10:21:28 +08:00
@jones2000 所以说你们说的重构不是重构。请回顾一下重构的定义,以及重构名录里那些细碎的步骤。要是真的重构过代码,根本不会说出这些名言。所以说大家说的所谓的“重构”,其实都是在重写。
|
17
jones2000 2023-11-13 13:29:26 +08:00
@duron600 重构需要有场景和资源提供给你, 光说定义什么意义,最终的目的就不是让整个项目更容易维护,扩展, 去掉冗余的代码。能达到这个目的不就可以了。
|
18
duron600 2023-11-13 14:04:21 +08:00
@jones2000 所以你们就说重写好了,别扯什么重构嘛。干的是重写的事,整天吓唬人说不要重构,搞得这么好的技能都没几个人掌握。
你让项目更容易维护我不反对啊,去掉冗余代码我不反对啊,能达到这个目的就可以了没错啊,我也不反对啊。讨论了半天你有没有发现你跟我说的完全是两件事啊?用你程序员严谨的逻辑想一想。 |
19
zorchp1 2023-11-20 13:36:42 +08:00 via Android
有一本英文书好像是叫 large scale 之类的,就是 cpp 相关的,感觉可以参考
|
20
csfreshman OP @zorchp1 你说的这个应该有中文版,名字应该是这个:大规模 C++程序设计,网上找 pdf 看了几章,翻译的略蠢,看不下去
|
21
zorchp1 359 天前 via Android
@csfreshman 哈哈,反正 cpp 大型项目相关的书不多,我也是看一个博主的推荐书单提到了,你可以看一下,公众号叫 cppmore 。另外中文技术书肯定多少都有翻译上的问题,可以试试啃原版
|