关于程序员如何精进细节的三个问题。

2021-06-24 02:00:00 +08:00
 liuser666

诚心请教各位三个问题

另外奉劝跟我一样的小白,做稍微偏底层一点的东西,C 和 C++是逃不掉的,学得越熟练越好。

5790 次点击
所在节点    程序员
43 条回复
loryyang
2021-06-24 10:35:37 +08:00
你既然只是兴趣,还是多做偏应用层面的学习吧,上层的机会多,变化多,比较有意思。你搞底层,也就局限在学习了,很容易无聊
比如你学个 Python,学个机器学习(这真不难),然后自己搞点用上模型的小玩意,这个挺有意思的
另外技术的深度,说实话,你不在业内,你不在一线,接触不到那些东西的。开源说实话,你也就看看代码,从代码里面不一定能看到背后的思考和折中
lplusk
2021-06-24 11:14:09 +08:00
技术是工具,工具是用来解决实际问题的。牛逼的产品和项目诞生之前都会有实际的需求和问题,如果你没有解决复杂实际问题的需求,就没有必要精进。为了精进而精进,看再多也只是闭门造车。
jones2000
2021-06-24 13:11:27 +08:00
首先,开源的东西是别人写的, 所以不要把开源插件的功能算成你自己的能力。 除去开源的东西,你还会什么? 不会的就自己去补。
然后说下读开源项目,光读代码屁用都没有, 你当看小说呢,浪费时间。 首先要根据这个开源项目有什么功能,自己去查资料,自己用代码实现。然后再去跟开源的代码比较, 哪些地方自己写的比他好, 哪些地方写的不好。这样才能提高你的查阅资料能力,分析能力,代码能力,设计能力。
GrayXu
2021-06-24 13:14:46 +08:00
轻吐槽,为啥看开源项目会选择看 powertoy 。。。你看这种项目当然是会看到大一堆平台 API 了
lux182
2021-06-24 13:22:25 +08:00
@kop1989
securityCoding
2021-06-24 14:21:17 +08:00
我个人比较笨 ,给我看也看不明白 . 一般是找个感兴趣的开源项目 , 弄清楚主体结构,开始动手抄代码 ,一行一行抄代码时才知道自己明不明白
nullcoder
2021-06-24 14:25:41 +08:00
唯一精进的方式是跟着高手学。看高手输出的博客和代码为下策;与高手远程过招,参与开源项目等协作为中策; 能坐在高手旁边,参与高手的工作,持续观察,不时 challenge 为上策;
zhanggang807
2021-06-24 15:20:55 +08:00
@zen1 赞同
godgc
2021-06-24 17:12:29 +08:00
当你觉得学到某个阶段没有辅助内容可以帮助 精进的时候其实也代表你目前应该在自己的项目中去做实践了,在实践的过程中关注细节,保持宏观上的统一和微观上的“讲究”,再来一点个人心得总结,我认为是这样的
pansongya
2021-06-24 17:48:07 +08:00
语言只是皮 内功心法 数据结构和算法
matrix67
2021-06-24 17:50:24 +08:00
别说数据结构和算法了,当你工作几年就会明白,以下几个任何一个都可以超过 90%程序员:

1.把事情想明白,说清楚,跟别人商量好
2.写代码,注意边界条件和编码规范,写单测,基本做到无 bug 提测
3.工作中做好计划和进度跟踪,沟通和汇报,不把问题遗留到变成事故
4.思考和分析,如何优化目前的工作流程,引入工具和方法,提升生产效率
5.把自己工作中用到的技术用熟,搞清楚原理,优点短处,适用场景
6.不断接触新技术思想和工具,完善自身知识体系结构
7.深入学习至少一个常用开源项目,源码层面系统掌握这项技术
8.持续坚持学习和技术内容输出,每个星期产出 2 篇原创技术文章
v2Mark
2021-06-24 19:04:46 +08:00
@matrix67 这才是最真实的
duhb
2021-06-24 20:17:38 +08:00
@lfzyx #你能把官方文档全部都通读完?确定嘛😩
sleepm
2021-06-24 21:40:28 +08:00
关键点是发现问题的能力,和解决问题的能力
liangkang1436
2021-06-24 22:52:31 +08:00
我之前也是仗着自己英语底子好,坚持看官方文档,结果为了学 idea,光 idea 的帮助文档我就看了一个多月,明明视频一个星期就能看完的,最关键的是,看完了文档,吸收的效果并不好,所以我也开始转变观念,看视频学习确实也是一种高效的入门方式
eudore
2021-06-25 08:45:11 +08:00
看代码写代码
paoqi2048
2021-06-25 10:56:51 +08:00
@matrix67 总结到位
baoyexi
2021-06-25 11:09:51 +08:00
精进个人理解如下:
1. 基础知识牢固,算法,语法,体系结构都算。
2. 在自己的专业领域多学习著名开源项目。学架构看看怎么实现更容易维护和新增功能。学算法看看怎么高效处理问题。
3. 结合以上 2 点解决自己项目中的问题,不断迭代。

至于文档和代码细节这种东西都是需要了才去搜,专门去通篇看感觉像进入了汪洋大海一样,而且边看边忘。还是要边学边用边思考才能转化为自己的。想起故人一句话,学而不思则罔,思而不学则怠。
dany813
2021-06-25 11:11:55 +08:00
@matrix67 很棒
Accessing
2021-06-26 08:03:06 +08:00


视频更新必然是缓慢的,其中的内容大多是比较基础和成熟的。在深入学习方面 视频<书<文档<源代码




看不懂源代码没关系,这是个需要学习的功夫,逢山开路,遇水搭桥,遇到什么问题解决什么问题。

如果看不懂源代码,那正是你要学习的时候,如果感觉很轻松,那就没有意义了,这就像学英语那样,遇到不懂的单词是很正常的,如果都懂那反而不正常,那不叫学英语那叫看杂志。

如果每次开枪都命中靶心,只能说明你离靶心太近了。



任何手艺都不简单,不要想学个编程自己就成天才了,看几本书觉得自己了不起了就能搞定了,都需要刻苦长期的努力,如果你只想玩玩看,那么你的水平就是玩玩看的水平,如果超水平发挥了那是意外。

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

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

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

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

© 2021 V2EX