也学过不少语言了,rust 、go 、python ,总是学完语法,不能完成一个项目,看开源项目,感觉也很难看进去,没办法达成编程能力的进阶。
有啥好办法能够突破初学这一层呢
1
CalebWayne 2023-02-25 13:55:47 +08:00
我是通过看机构视频
|
2
sulaimanpro 2023-02-25 14:07:37 +08:00 2
其实混的好不好,还是多方面的。技术只是基础,业务理解能力也很重要,只有业务理解了,才能从各个层面抽解代码,让代码看起来简洁高效。
上一层讲,能完成编码业务,只是个打公仔,你还得学会驭人,把你的想法交给手下人去干好。 再上一层讲,从概率上讲,一个医生能实现财务自由的途径,绝对不是精进医术。一个程序员想实现财务自由,决定不是精进技术。钥匙从来不在锁上,你得去别的地方找找。 |
3
zapper 2023-02-25 14:27:08 +08:00
软件工程,你得拿做工程的思维去看,学语言只是实现工程的一种主要手段
|
4
hsfzxjy 2023-02-25 14:30:46 +08:00 via Android
你得先有一个想做的项目的基本设计,然后直接上手就好了
|
5
cmdOptionKana 2023-02-25 14:42:35 +08:00 1
循序渐进啊,先做小项目!
小项目你不可能做不出来,比如一个 TODO 工具。 做出来之后,可以在 todo 的基础上加上传图片的功能、加基础的 markdown 功能、加单用户登录,再加多用户登录…… 这样玩一下,基本上感觉就慢慢有了。 然后再找稍大点的项目,比如论坛,或者多用户的博客平台等等,看你自己兴趣。 或者你最终想做一个怎样的项目,说出来,让大家帮你拆解一下,拆成一个个可以轻松完成的小任务。 |
6
yangzhezjgs 2023-02-25 14:55:28 +08:00 2
首先,你要理解所谓编程的本质是什么?
是建模,简单说就是首先将现实中的人或物映射为数据表,然后把他们的互动过程转化为对数据的操作( CRUD )。 所以项目关键不是编程语言,而是实现整个建模过程的设计思想——面向对象建模和实现工具——数据库和 web 服务框架。 第二,最基本的建模思路就是针对功能需求用软件工程里的用例图,对象图(静态),时序图(动态)等分析建模,然后实现阶段,首先模块化分解,然后每个模块按照 MVC ,设计数据表和对应的操作函数。 第三,就是进阶部分,你要开始学习非功能需求,包括性能(响应时间,吞吐量),高可用等,这些就要回到更本质的层面,包括学习多线程,网络编程,分布式等等。 |
7
ugpu 2023-02-25 15:06:00 +08:00
不是你学了语言学到了就是会些代码了,
我们学习编程的目的是 通过学习他 学会了一项技能 我们用这个技能能去做点什么 摆脱应试教育的思维. 我们学习是认知 认知后去做点什么. 不是他能给我们做点什么 习惯 我们用他做点什么 |
8
gant 2023-02-25 15:12:06 +08:00 via iPhone
just do it
|
9
Skifary 2023-02-25 15:31:32 +08:00
只有真正做,遇到问题和解决问题以后才会有收获的感觉。
纸上得来终觉浅,绝知此事要躬行 |
10
whileFalse 2023-02-25 15:54:03 +08:00 via iPhone
1. 下载一个简单项目,确保能跑起来
2. 开改 甚至都不需要提前学习语法。 |
11
daimubai 2023-02-25 15:55:37 +08:00
@sulaimanpro #2 答不对题,好为人师
|
12
panlatent 2023-02-25 16:06:53 +08:00 via iPhone
我觉得你没进行下去,没遇到一个让你感兴趣的项目,或者逼着你前进的项目。
兴趣是最好的老师,找一个感兴趣的东西开始吧 |
13
proxytoworld OP @zapper 不是专业开发,对于项目中开发之间合作的流程还不太清楚
|
14
proxytoworld OP @cmdOptionKana 你做小工具会构思代码结构吗
|
15
proxytoworld OP @yangzhezjgs 感觉你讲的,醍醐灌顶,太强了
|
16
sulaimanpro 2023-02-25 18:06:49 +08:00
@daimubai 你说的对,听你的
|
17
renmu 2023-02-25 18:24:47 +08:00 via Android
说明你没有学精过一个语言,不然你会发现学新语言做个小东西是个手到擒来的活,很多东西都是与语言本身无关的
|
18
ychost 2023-02-25 19:24:36 +08:00
万变不离其中,如果搞 WEB 基本看下对应语言的热门框架就行了,两三天就能上手,最多五天熟练使用,但是如果是搞游戏、搞桌面之类的就需要花大力气了
|
19
opengps 2023-02-25 19:50:05 +08:00 1
完成项目的出发点不是技能多么高,而是需求足够强,你想做成的事你会主动排除困难找到对应的资源(比如技术,比如代码)
|
20
cmdOptionKana 2023-02-25 20:41:37 +08:00
@proxytoworld 代码结构先别管,先写,一堆堆代码胡乱地堆在一起也无所谓,先把功能实现了,然后回头再改。
改一遍,后续偶尔看教程或看别人的源码,肯定会看到别人的代码结构,由于你原本写过改过,印象就很深刻,可以马上参考起来。 |
21
techstay 2023-02-25 20:48:06 +08:00
代码这个工具是用来完成任务的,只要你有一些点子,就可以想着用新学的工具去实现一下,哪怕是十几行的脚本也没关系,能力就是在这个实践的过程中逐渐培养出来的。
|
22
lzgshsj 2023-02-25 20:56:13 +08:00
看看软件工程相关的吧,从需求分析开始
|
23
alne 2023-02-25 21:18:32 +08:00
@proxytoworld 不用构思,想到哪做到哪儿。
等改不下去了就知道该重构了 |
24
daimubai 2023-02-25 22:26:19 +08:00
@sulaimanpro 我不是你 dad ,别听我的
|
25
richangfan 2023-02-25 22:34:08 +08:00
我是从想做个网站开始,根据他所需要的技术来学习的。这样就不会出现学了技术却找不到项目的情况。
|
26
ClericPy 2023-02-25 23:00:56 +08:00 1
以前也挺迷茫的, 后来发现自然而然就达到了... 过程中很难总结什么必经之路, 简单说几个有印象的点
1. 计算机基础真的是润物无声地帮到我, 好多需求从未接触过, 但却能很快就上手解决 2. 代码量似乎似乎真的是个笨方法却又极端有效, 万行 /十万 /百万行的自己回头望, 真的一层层鄙视过去的自己 3. 软件工程的很多东西提前学了很难用到编码里面, 但是如果代码量上来了, 很多瓶颈和 bug 其实都可以在那些范式 /开发原则里面找到标准答案, 算是一种弯路超车的感觉 4. 项目有时候到一定规模, 会遇到开发或设计瓶颈, 那些架构师的书里的解决方案真的省了不少脑细胞 |
27
janus77 2023-02-26 01:55:15 +08:00 via iPhone
多看别人的项目代码,不要只关心自己做的一两个模块,多从整体出发思考问题,看问题的角度不一样 你就能知道为什么这个地方要这样设计
|
28
KIRAYOMATO 2023-02-26 02:13:41 +08:00
多写,项目都是一点一点写起来的,一边写一边学
|
29
andy20160606 2023-02-26 09:49:06 +08:00 via iPhone
计算机语言是触类旁通的,只是语法特性略有不同,先熟练掌握一门语言即可。
之后继续夯实基础,数据结构玩明白,做需求时,能提高效率,leetcode 上面的练习就不错 最后找个公司实习,有个半年时间,独立开发模块就没什么问题了 |
30
timelessg 2023-02-26 10:00:14 +08:00 via Android
想办法进中大厂,被需求推着很快就 ok 了
|
31
Thecosy 2023-02-26 14:02:57 +08:00
功能的实现过程其实跟语言无关,做下去就对了
|