关于对编程的一点理解

2022-05-01 23:04:05 +08:00
 Cola98
最早开始学编程的时候,对着书上代码抄完,能跑起来就算成功,感觉刚开始这样可以,但是时间长了,突然让自己写就不会写了,这个习惯一直保持到现在毕业,有一种自我感动的行为,"哇,原来写了这么多,又学到了这么多知识",但是完全没有去思考为什么这么写。

导致实习有段时间接触到新的业务或者上手写代码的时候,会突然宕机,完全不晓得在干什么,要写什么。后来接触公开课的 Lab 发现还是很锻炼写代码思考的能力。

最后简单粗暴的总结一下,代码可以抄,但是要考虑为什么这么写,要有一个思考的过程(

来自一个深夜发病大脑混乱刚刚写完论文的大四傻篮子
2363 次点击
所在节点    程序员
13 条回复
fstar
2022-05-01 23:16:54 +08:00
确实,需要了解:
- 底层使用的设计模式
- 针对特定场景整了哪些反模式写法
- 用到了什么数据结构与算法
- 是否 hack 一些特殊的情况,自己以后实现也要注意
- ...
cmdOptionKana
2022-05-01 23:22:54 +08:00
很正常,不是编程的特殊现象,各行各业都一样,大学毕业才发现自己“不会”,参加工作只能从最简单的开始做,一点点找感觉。(部分特别优秀的学生除外)
luban
2022-05-01 23:28:16 +08:00
思考是比较高级的脑力活动,只有思考了的才能成为自己的一部分。如果一时理解不了,先记住一部分,后面再慢慢理解也能吸收一部分。
学习(阅读)与思考的关系:
孔子:学而不思则罔,思而不学则殆。
叔本华:人可以随时阅读,却不能随时思考。
danhahaha
2022-05-01 23:32:19 +08:00
我的理解是几个层次:

第一层: 抄,并能跑起来
第二层: 能写出来
第三层: 能明白为什么
第四层: 能给别人讲明白为什么
第五层: 创造出新的方式
golangLover
2022-05-01 23:36:37 +08:00
编程的核心就两样东西,early exit 和中间层
wonderfulcxm
2022-05-01 23:44:07 +08:00
很像《刻意练习》提到的一个概念,心理表征。不但要对整体有把握,也要思考细节的问题,发现规律,创建自己的理解方式。
learningman
2022-05-01 23:47:59 +08:00
找个聪明的 newbie ,给他讲清楚你就会了
Cola98
2022-05-02 10:01:47 +08:00
是的,越学发现会越难,越值得去思考。
crayygy
2022-05-02 12:24:42 +08:00
推荐几本我个人比较受益的书
《 Clean Code 代码整洁之道》
《 Clean Coder 程序员的职业素养》
《 Clean Architecture 架构整洁之道》
《重构》
基本都是在帮助理清思路,学会如何从能用到好用。
charlie21
2022-05-02 12:48:41 +08:00
首先 “越学越少的,而不是越学越多” 的是很好是,“越学越多 越学越多” 的(探索)要和前者分开。
fromdark
2022-05-03 10:06:52 +08:00
大学的计算机教育(不论是本科还是硕士阶段)普遍还停留在 10 年前吧,整个中国的高等教育,基本上就是一锅乱粥,可能有点偏激,我现在有些理解为什么要上山下乡了。
wa007
2022-05-03 11:02:03 +08:00
需求出发
haah
2022-05-03 16:22:35 +08:00
@fromdark 瞎说,明明是停留在上世纪 80 年代!

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

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

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

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

© 2021 V2EX