1
securityCoding 2021-07-01 10:03:55 +08:00 10
我一直觉得源码只是看的话根本没多大用处 , 得写得抄才能真正理解作者的意思
|
2
Saxton 2021-07-01 10:05:25 +08:00
如果你纯粹为了面试看源码,那没有意义。
如果你为了提升自我能力而看源码,那很有意义。 |
3
czfy 2021-07-01 10:09:03 +08:00
什么是纯粹的程序员?
只需要和代码打交道,不需要和人打交道?这样的研发岗存在吗? |
4
msaionyc 2021-07-01 10:11:53 +08:00
有时候想了解一个组件是如何工作的
有时候想看一些优秀的模块设计,借鉴一些好的思想 纯粹为了面试看源码确实很枯燥,但看着看着感兴趣了也没准呢 |
5
kop1989 2021-07-01 10:13:17 +08:00
哪有所谓“纯粹的程序员”。
另外,不是为了面试而看源码,只有一个原因,就是想搞明白作者是怎么实现的,自己的设想和作者的实现孰优孰劣。 带着问题去阅读源码,是最好的提高自己的方式之一。 |
6
meteor957 2021-07-01 10:16:40 +08:00
思考赚钱
|
7
p2pCoder 2021-07-01 10:17:11 +08:00
看代码,看书,都是一个积累的过程,并不是一个完全的知识内化的过程,说到底,还是要用了,要在诸多限制下落地,才是最有意思,最有挑战的。还是要想办法去真实的世界解决真实的问题,特别是后端、算法这种岗位。
|
8
dfkjgklfdjg 2021-07-01 10:22:00 +08:00
看源码是看因为某些地方自己卡壳了,然后想看看别人是怎么实现的,然后去读的源码,多看几个仓库,就会得到一个自己相对比较满意的解决方案。
现在大部分人看源码是为了面试,就是正常人没人看源码, 都是 API 战士,怎么实现的不知道,出现 bug 了怎么办?百度,也不去看 Issues,遇到真正喜欢 Coding 的人一比就黯然失色,为了能有竞争力,才开始读源码,刷算法,为了够到那根门槛而读 /刷。 内驱动学习不是每个人都有的,更何况那么多人都是来 IT 行业捡钱的,哪里还会放弃打王者的休息时间去学习。 不过那些直接啃源码的新人,从 VueJS 到 ExpressJs 坚持了一年还在啃,虽然我满头问号,但是我是真的佩服这个毅力(你干点啥不好...)。 |
9
3dwelcome 2021-07-01 10:22:52 +08:00 10
早就有老外吐槽过,"纯粹的程序员“都是凭爱好在写代码,而且都是上班写自己的代码,而且还不会很专注于一个商业项目,兴趣点总是在变。
你没办法让聪明人长时间 CRUD 。想了一下,好像有那么一点点道理。 |
10
e583409 2021-07-01 10:25:20 +08:00
纯粹的程序员 定义是什么?
我现在慢慢发现自己喜欢上写代码 同时功利一点为了面试 开始刷 leetcode 半年刷了 190 道题 写的总结 https://mp.weixin.qq.com/s/0YqBCiTcRtk6hijGE7RfOw |
11
wxw752 2021-07-01 10:26:31 +08:00
「天下无贼」
|
12
ace12 2021-07-01 10:27:30 +08:00 via Android
@securityCoding 有时候还是能学到一些技巧的
|
13
luozhiyun 2021-07-01 10:27:55 +08:00 5
我感觉是为了兴趣看源码比较好。我现在在看一个框架或技术的源码之前会想,如果是我来做这件事,那么我会怎么做,会怎么实现。看到精妙的实现方案会惊叹,Woo ~ 这个不错,然后记录下来。慢慢的就形成了一篇篇的分享。
现在我在研究 TiDB,想看看它是如何做分布式数据库的,感兴趣的不妨一起看看: https://www.luozhiyun.com/archives/category/%e5%90%8e%e7%ab%af/tidb |
14
terranboy 2021-07-01 10:29:45 +08:00 1
学学别人怎么写的 怎么思考的 不是挺好吗
|
15
kensoz 2021-07-01 10:31:54 +08:00
大多数公司都是业务代码,crud,有几个项目组需要搞懂源码级别的需求。
所以说看源码就是为了面试,除了你真的在工作中需要用。 极少数人说兴趣爱好,自我提升我信,但是大部分都是抱着或许面试用得着的心态来学。 |
16
h82258652 2021-07-01 10:34:10 +08:00 2
我看源码是为了魔改...
|
17
coderluan 2021-07-01 10:46:54 +08:00
纯粹的程序员应该在思考啥?
"今天午饭吃啥" |
18
LowBi 2021-07-01 11:19:32 +08:00 via Android
思考怎么做产品
|
19
CodingNaux 2021-07-01 11:32:59 +08:00
为了面试去看源码,那也能从中学习,这也挺好
成年人的世界不是只有对与错 成年人的世界不容易,世道艰难 不要问为啥,这么做肯定有其原因,问就是卷 |
20
bigNewsMaker 2021-07-01 12:02:06 +08:00
都是带着目的去看源码,搞不懂有的人还看出优越感了
|
21
Jooooooooo 2021-07-01 12:38:43 +08:00
应该思考怎么把业务做好啊, pm 提需求, 要在实现需求的基础上, 以程序员的视角看有没有可能做的更好.
|
22
charlie21 2021-07-01 12:42:15 +08:00
让他们把精力投入到无穷无尽的看源码过程之中 这很 OK
|
23
EPr2hh6LADQWqRVH 2021-07-01 12:44:50 +08:00 2
你看,我今天带着批判的目光去看 Midway.js ,看看阿里这帮人做出了啥破玩意,
我发现文档里面,他们的 @Query 装饰器,竟然可以不用手动指定,而是自动取得参数的名字。 这是装饰器 API 中没有提供的,按道理只能取得参数的顺序,而不能取得参数的名字,这是不能实现的,我很好奇他们是怎么做的,甚至觉得是文档写错了。 所以我下载了这个项目的源码,找到了 Query 装饰器的实现。 你猜他怎么干的? 原地取得这个方法并给他 toString,拿到源码后正则匹配。 还能这么 xjb 干,我也是服了。 |
24
Oktfolio 2021-07-01 12:45:56 +08:00
我都看我目前需要的,比如 Spring Security 因为要去做改动,所以看了。
Spring 我就没去看,然后面试过不了...... |
25
littlewing 2021-07-01 12:46:26 +08:00
现在很多人写代码似乎都是为了钱,纯粹的程序员应该在思考啥?
|
26
hdfg159 2021-07-01 12:52:52 +08:00 via Android
追随自己的兴趣去看源码,自然而然的想去读,看看别人的优雅写法和实现
|
27
EPr2hh6LADQWqRVH 2021-07-01 12:57:38 +08:00
@avastms BTW 这样做是严重不可以的,因为这限制了被装饰的函数必须是原函数,而不能是被二次封装二次装饰的函数,是短视而破坏整体性的 API,为后来的开发埋坑,谁写的这个代码,工资-1
|
28
auh 2021-07-01 12:57:40 +08:00
程序员要没有那点工资,有几个这么激动的?之前是硬件专业,很后悔,毕业出来做软件了。没兴趣。天天都是那么一点点框架,真不知道有啥意思。
|
29
EPr2hh6LADQWqRVH 2021-07-01 13:17:48 +08:00
@avastms BTW2,又看了一下文档,竟然参数装饰器由编译器确保在原函数声明后第一个运行,这样做问题竟然真的是不大的,只要参数装饰器没有多个且不嵌套就可以了,行,牛逼,工资-0.5 吧
|
30
DeWjjj 2021-07-01 13:23:38 +08:00 via Android
写什么框架看什么框架。
|
31
leven87 2021-07-01 13:26:08 +08:00
主要还是借鉴别人的思想,用在自己的项目中
|
32
bojue 2021-07-01 13:31:25 +08:00
感觉还是解决方案的积累,看总比不看的好
|
33
icyalala 2021-07-01 13:37:11 +08:00
纯粹的程序员在思考:
这个变量该怎么命名? 我到底为什么要写代码? 晚上该吃什么? |
34
tcpdump 2021-07-01 13:49:52 +08:00
就算你是天赋异禀的天才程序员,是需要解决实际业务问题的,而不是炫技的。
|
35
HiShan 2021-07-01 13:53:13 +08:00 1
这题目就有矛盾的。
为了面试而看源码? 不是就是一种纯粹吗? |
36
xiaket 2021-07-01 14:01:22 +08:00
有哪些源码看了可以帮助面试的, 干了这么多年活还真不知道.
|
38
www5070504 2021-07-01 14:08:44 +08:00
应该是在思考这作者到底为什么要这么写吧
|
39
ChoateYao 2021-07-01 14:14:58 +08:00
看源码是为了了解别人实现,把别人的变成自己的。
为了面试看源码,没有实践思考大部分都是为了看而看,就好比设计模式,多少人看了又看就是很少应用到自己项目里面。 |
40
qiaobeier 2021-07-01 14:39:19 +08:00 1
我认为王小波算得上是纯粹的程序员。
|
41
HolmLoh 2021-07-01 14:41:19 +08:00 1
看大型开源框架的源码对大部分人的日常开发没什么鸟用
日常开发不同于开源的框架,框架为了保证拓展能力必然会写的极其的绕,举个例子就是 spring bean 的生命周期,光是创建到销毁就分了 7 步,一般的业务开发写成这样不是自讨苦吃吗,这也为什么有人说 Java 人都被设计模式荼毒的原因 |
42
aguesuka 2021-07-01 14:52:46 +08:00
面向未来编程. 比如说 JetBrains 的 Arend 语言.
https://arend-lang.github.io/ |
43
ericgui 2021-07-01 15:26:16 +08:00
用到啥看啥,比如我最近要用到 rc-table 和 rc-calendar,我考虑自己发包,毕竟不敢把自己托付给福报长,但 又不得不用,于是只好 fork 一份,自己维护了。这就要去阅读源码了,那我是不是可以宣称,我阅读过 ant design 的源码?
阅读源码这个事,也要看投入产出比,也要看是要学习的目的,是真的要用到,还是要了解茴字有几种写法 而我最近在详细研究我司的现有代码,其实已经真的也都是收获非常大的,毕竟看完了,就能立刻用得到 所以个人的提高,只是“阅读”源码也没什么 p 用 |
44
ca1123 2021-07-01 15:27:13 +08:00
这说明面试还不错啊
|
45
ipwx 2021-07-01 15:40:55 +08:00
只是阅读源码效率极低。要从读源码开始,争取进步到看 API 就能猜出怎么实现的程度。
|
46
wfd0807 2021-07-01 15:41:45 +08:00
真正的程序员在思考怎么赚钱 DOGE
|
47
hhyyd 2021-07-01 15:55:51 +08:00
就像小时候学写作文,先是读优秀课文作文等,做些摘抄什么的。从整段背诵,到运用名言名句,再到考试独立完成一篇作文。多读课文,读诗词名句,优秀作文。都是必要的积累。
至于是考试前突袭背几篇拿高分,还是长期培养阅读的习惯,熟好熟坏,不言自明。 |
48
namelosw 2021-07-01 16:02:54 +08:00 1
很多人的层次还谈不上思考「纯粹程序员」的问题,思考的更多是吃饭,所以。
我个人理解的「纯粹程序员」就是跳出已有框架,更多思考计算本质的人。 其实「纯粹程序员」一直存在,在计算机出现之前就已经有了,比如早期的 Haskell Curry, Alonzo Church, Alan Turing,或者后来的 John McCarthy, Alan Kay, Tony Hoare 等等。写业务的程序员固然重要,但是一个业务程序员消失了就会有人做他的工作,一个公司消失了就会有其他公司填补它的市场。但是这些推动业界发展的关键人物没存在过,我们现在可能还没有电脑 / 写二进制 / 写 Fortran 等等。 当然也不用非得只思考本质不干活,很多大佬也是工业界出来的,比如 Joe Armstrong 在爱立信搞的 Erlang 其实是在不知道 Actor 的情况下独立实现了它。 我感觉 SICP 里面的比喻很恰到好处:我们现在看待计算机就跟古埃及人看待几何一样 — 那个时代大部分和几何相关的工作者更关注的是怎么用标尺,量角器这些「工具」,而我们回头看那个时代的时候根本不会关心这些工具,而是会认为他们发现背后的几何原理拥有重大意义。那么以同样的方式思考,远未来的人回头看 20 ~ 21 世纪的计算机科学 / 编程,更关注的显然不是 M1 或者 Rust,而是更本质的「计算」本身。 如果只是想找一些更纯粹的问题思考的话,看源码不如做一做 Nand to Tetris 这种项目,走马观花地做一遍下来你就会有很多好奇的方向,和你比较感兴趣的抽象层,和很多「为什么不」「如果这样的话」之类的问题可以深入。 |
49
kongkongyzt 2021-07-01 16:04:46 +08:00
很多时候看源码既不是为了面试或者是提高自我能力, 而是看这东西到底咋实现的, 为了追踪问题而去看源码
|
50
ReferenceE 2021-07-01 16:06:36 +08:00 via Android
?面试不至于看源码吧
看源码主要是思考和使用 例如,释放类时都会调 IDeposited 接口 没人会关心 runtime 中,deposited 各个 service 的顺序是什么 |
51
charlie21 2021-07-01 16:25:44 +08:00
你用你用的工具,古埃及人用古埃及人的工具,你们都不关心它的意义,只想准确正确交工然后早点下班回家吃饭。
没人要的 “意义” 就应该烂在地里,参考 古希腊哲学起源 .. 希腊哲学是从关心世界的根源即本原开始的,如泰勒斯的“水”、阿那克西曼德的“无限”、阿那克西米尼的“气”、毕达哥拉斯的“数”、赫拉克利特的“火” http://db.cssn.cn/sjxz/zxqksjk/ztjj/201906/t20190610_4914802.shtml |
52
simo 2021-07-01 16:25:51 +08:00
纯粹的程序员都在思考怎么 v2 发问和作答,我们都很纯粹
|
53
xloger 2021-07-01 16:38:59 +08:00
而且很多为了面试“看源码”的,大多看的还是网上别人发的源码分析文章。
别人说看 Android 系统源码时我都会问怎么看的,IDE 点进去看的只是一部分源码,完整的是得自己额外下源码的,没说这个过程的,可以想象出他们是怎么“看源码”的了。 我关于 Android 本身的源码,印象比较深的一次是一个 Activity 关闭后没有及时调 onDestory,网上搜索无果,但是看到 Logcat 上看到了一条日志,然后就源码查这个日志,看怎么处罚这个条件,检查到最后知道是 handler 里有消息没处理完,再一验,是其他同事不小心在某些情况下会死循环反复发 Message 。 框架的源码,我一次是用 Glide 解析 Gif,一部分 Gif 用默认的加载方法不会动。我怀疑是 Glide 解析这个文件把它当普通文件识别了,也许是我生成的 Gif 头文件信息不对之类的。也看了一会源码,不过时间紧张最后直接在应用层加了个判断了。 纯粹的程序员看源码,我觉得分为两个情况: 1 、抱着解决某个问题的角度,去阅读分析这个问题是怎么产生的,该怎么解决。 2 、觉得这个功能实现得很棒,很厉害,去研究学习怎么设计怎么实现的。 |
54
nicocho 2021-07-01 16:57:34 +08:00
最近准备,看了好多源码。
刚好来个新需求,我借鉴了源码里的设计方式,学以致用?感觉挺好的, |
55
KouShuiYu 2021-07-01 16:59:58 +08:00
+ 学习
+ 借鉴 + 文档不够详细 |
56
wobuhuicode 2021-07-01 17:08:18 +08:00
面试现在不是都刷题的吗?
读源码来面试不靠谱吧。 |
57
ily433664 2021-07-01 17:13:51 +08:00
早上吃什么?
中午吃什么? 晚上吃什么? |
58
sjzjams 2021-07-01 17:15:24 +08:00
如果真的是认真看源码那就不用为面试担忧了,提高在不知不觉中,看源码看算法都是给自己开拓思路
|
59
fyxtc 2021-07-01 17:29:35 +08:00
@securityCoding 极端了,阅读代码本身就有足够的含量,问题是是否看的是优秀的代码以及是否理解透彻
|
60
RainCats 2021-07-01 17:30:52 +08:00
在中国,纯粹的程序员大概饿死了
|
61
shangfabao 2021-07-01 17:56:11 +08:00
我的有时候看源码是因为一些开源的文档里写的不清楚
|
62
xbdsky 2021-07-01 17:57:01 +08:00
思考怎么找对象
|
63
suotm 2021-07-01 18:25:11 +08:00
define "纯粹程序员"?
|
64
feather12315 2021-07-01 18:32:37 +08:00 via Android
弄懂黑科技怎么实现的
|
65
jiayong2793 2021-07-01 18:45:10 +08:00
架构师思考的是需求和方案,程序员只思考代码
|
66
westoy 2021-07-01 18:45:43 +08:00
当然在思考, 晚饭吃什么
|
67
snappyone 2021-07-01 19:08:10 +08:00
思考不懂的东西,然后到处找答案
|
68
songlinliee 2021-07-01 19:21:29 +08:00
学模电的时候会先从二极管三极管的原理开始讲。
但是最后学到后面的章节其实能理解特性就行。 所以学会基础的目的是为了忘记基础? |
69
fgk 2021-07-01 20:13:40 +08:00
应该是为了看作者的思路、编码风格影像才深刻
|
71
ylsc633 2021-07-01 20:31:26 +08:00
1. 看别人的项目
目的: 学习别人的写法, 看看他们怎么写项目的, 有没有值得学习的地方, 代码是否比我的优雅,我需要进步,不断学习才能进步 2. 看编程语言底层源码 目的: 比如我写 go, 看底层源码, 对面试肯定有好处, 但主要是 能看到底层实现, 可以让自己少踩一些坑(比如 map,看了源码知道 有并发读写问题,底层实现的时候有异常抛出, 比如一些并发原语,底层实现是 noCopy 如果传递的话,可能有一些意想不到的问题出现), 另外,看底层如何实现也是十分有意思的, 比如互斥锁, 什么时候自旋,什么时候会进入饥饿模式, 什么时候退出等等 但是因为个人基础一般,能力有限, 只能尽量去看 |
72
railgun 2021-07-01 22:47:03 +08:00
不是为了 debug 我才懒得看开源的代码
|
73
akira 2021-07-01 23:04:55 +08:00
就和你做数学题的时候是一样的,
不会做的时候 ,看看别人是怎么解题的 会做的时候,看看别人的思路和自己的有什么不同 |
74
oldmanong 2021-07-02 00:36:19 +08:00 via iPhone 1
我一般是遇到异常报错或者 bug 才去看源码,一边口吐莲花一边看,效果还特好
|
75
kingfalse 2021-07-02 08:23:09 +08:00 via Android
唯一的用处就是面试,别的都是扯淡,其他的不都得面试过了再说遇到遇不到
|
76
zhw2590582 2021-07-02 08:23:20 +08:00
对我来说源码看过很容易忘,但作者写代码的思路就会保留下来,挺有用
|
77
undefine2020 2021-07-02 08:50:42 +08:00
@3dwelcome 那看来只有发达国家的程序员和我们的 x 二代程序员有资格当“聪明人”了
|
78
scemsjyd 2021-07-02 08:52:35 +08:00 via Android
我看源码纯粹是想知道代码底层怎么实现的,写代码的时候心里有数。不然用错了,都不知道。不知道大家的想法是什么样的?
|
79
Marszm 2021-07-02 08:56:35 +08:00
可以找漏洞。。干安全的最喜欢审计源码了。
纯粹的程序员,可能思考如何让程序改变世界。 |
81
zjq07 2021-07-02 09:27:38 +08:00
我只是想知道 TM 的为什么报错
|
82
FreeEx 2021-07-02 09:40:32 +08:00
个人为了学习看源码我觉得很好,但是面试的时候问源码就很操蛋了,哪个框架是一下子变成现在这个样子的?都是一点点慢慢发展的,为了面试使劲背 xxx 为什么这么设计,下一个版本变了又要换一种背法了。
|
83
hu8245 2021-07-02 10:02:43 +08:00
@securityCoding 哈哈哈,真相了。边抄边说妙啊妙啊,真是妙蛙种子吃着妙脆角妙进了米奇妙妙屋,妙到家了
|
84
lifesimple 2021-07-02 15:27:30 +08:00
面向工资编程 怎么能说没有意义呢🐶
|
85
Akiya 2021-07-02 16:39:43 +08:00
遇到第三方库出的问题的时候,只能自己去看源码了啊
|
86
james122333 2021-07-03 01:35:31 +08:00 via Android
|
87
james122333 2021-07-03 01:36:55 +08:00 via Android
@james122333 需求
|
88
james122333 2021-07-03 01:42:46 +08:00 via Android
|
89
m30102 2021-07-03 15:29:06 +08:00
驴拉磨只是为了前面那根胡萝卜,有没有纯粹的驴?
|
90
ychost 2021-07-03 20:19:39 +08:00
源码一般是出问题的时候才去看,但是面试不看八股文看什么呢,项目水分成分更大
|
91
MarkLeeyun 2021-07-08 09:51:37 +08:00
@czfy 30 年前有个贝尔实验室,啊哈哈哈哈。
|
92
MarkLeeyun 2021-07-08 09:52:54 +08:00
@tcpdump 对,屠龙之技罢了。。
|
93
MarkLeeyun 2021-07-08 09:54:25 +08:00
@simo 啊这,让我想起了知乎。
|