如何跨越 coding 菜鸟到老手的鸿沟

2022-10-10 12:16:31 +08:00
 kerrspace
小弟我是刚毕业的新码畜 最近我有一点特别疑惑的就是 在学校里学的和自己掌握的基本都是一些比较基础的语法特性( c++) 但是工作中和自己私下学习接触的开源代码很多都是高度工业化的 就拿 c++举例,我的水平大概就是一个功能能用 c++写出来,但是工业代码里面很多设计和特性是为了譬如说批量化生产代码(大量的模版),譬如说为了追求极限速度(各种 ‘=delete’ 各种内联),譬如说为了考虑多线程。这里的问题是,很多时候你缺乏那个基础,你就算看到了开源源码里面一个设计,你也根本不知道他为什么要这么做(这样做为什么好),就更别说学习吸收了。


想请教一下各位大佬,你们是怎么解决“没有经验,所以看见复杂的好代码也不知道他为什么要这么做(好在哪里);因为看不懂设计好在哪里,所以经验增长慢”这个问题的?
4604 次点击
所在节点    程序员
32 条回复
GP1
2022-10-10 18:56:27 +08:00
练级打怪
jones2000
2022-10-10 19:55:41 +08:00
代码写的多了, 项目做的多了, 就会了。 光看书或代码没有什么用,就只能应付应付面试。 写代码是为了解决问题,只要能解决问题就行,高效,可读性都是锦上添花的东西, 问题都解决不了要那么多技巧干什么用。
levelworm
2022-10-10 20:15:11 +08:00
只有找更好的工作接触更好的人才行。就连大神卡马克都需要和人交流才能进步的更快。
NilXuan
2022-10-10 20:59:58 +08:00
1. 遇到自己能看懂的->好的,原来 xxx 也这样写;
2. 遇到自己看不懂的->自己努把力能不能看懂一部分?
如果能,就把它搞定,然后总结下为什么最开始看不懂,搞定后有什么收获?
如果不能,可以问问自己为什么不能?解决完该问题的答案后,再看看能不能看懂,如果还是看不懂,不妨先放下,看看其他部分。随着解锁的细节越来越多,回过头再看看哪些不懂的,如果还是看不懂,可能就得求助他人了;或者就继续先放下,继续解锁其他部分(记得回头看,如果仅放下,但是不回头看,那可能就永远搞不懂了)
YYYeung
2022-10-11 00:11:41 +08:00
只有老老实实花时间吧

幻想:弯道超车
现实:坑渠翻车
chasb
2022-10-11 00:15:31 +08:00
这就是活生的例子证明弯道超车绝对是屁话
kerrspace
2022-10-11 01:11:09 +08:00
@chasb 从时间上看未必。。。因为我现在每天可以说除了睡 4 个小时在全方位努力工作学习,也没有家庭拖累。我感觉是可以追上一些佛系的高手。但是这是从时间的角度衡量。从你为了达到那个水平要经过的训练来讲是肯定没有超车这种说法的,该踩的坑都要踩
kerrspace
2022-10-11 01:11:47 +08:00
@NilXuan 说的太好了,这个方法论讲的非常好。感谢大佬
yule111222
2022-10-11 08:52:37 +08:00
看不懂就不是好代码,C++的历史包袱而已
nicebird
2022-10-11 10:51:09 +08:00
慢慢提高:
- 第一步能写好几百行的模块,快速实现
- 第二步某一年能够大量输出几万行代码
- 第三步 开始刻意练习,学习各种开源库、学习自己项目库
jinsongzhao
2022-10-11 11:16:38 +08:00
先确定你能避免外界的浮躁,潜心下来,并且喜欢研究代码,勇于不断学习新框架。最后跨越这条鸿沟的人,差不多只剩下 1%,加油吧
Twnysta
2022-10-11 14:02:50 +08:00
你是不是需要一个 ide ?

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

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

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

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

© 2021 V2EX