所谓的编程思维是什么, 各位是怎么理解的

2020-07-10 20:03:51 +08:00
 Mr0C

本人作为几个月的前端开发,求各位大佬解惑一下,我个人的理解应该是解决问题的能力,新手要怎么锻炼所谓的编程思维,谢谢各位

6257 次点击
所在节点    程序员
60 条回复
mirrorman
2020-07-10 21:50:28 +08:00
能够正确地使用 ctrl c + ctrl v
fightingZ
2020-07-10 21:53:27 +08:00
我理解的是高内聚低耦合易扩展
yousabuk
2020-07-10 22:04:55 +08:00
能够把现实问题转化为:数据结构+算法
crella
2020-07-10 22:05:38 +08:00
代码对机器友好,对程序员友好
lvdb
2020-07-10 22:17:43 +08:00
怎么样才能说服自己“单休也挺好的”
ljw97
2020-07-10 22:29:23 +08:00
我觉得应该是一种将 现实生活中的问题抽象出来,并写出具体的代码用计算机去解决的能力。
niubee1
2020-07-10 22:33:36 +08:00
其实就是解构问题,抽象问题,最后解决问题的能力
djbc
2020-07-10 22:35:37 +08:00
最近也觉的编程不是一件简单的事情,我用的是 python3 + tkinter 编写一个应用小程序,但是很多时候会报一些特别邪门的异常,debug 也找不到所在,所以我现在都有一种幻觉了,到底是的编程能力有问题还是开发环境不行。
CEBBCAT
2020-07-10 23:02:13 +08:00
从实习算起,我已经工作六个半月了。我觉得「编程思维」这个名词在未经明确定义之前,不适合对它明确定义(笑)

我现在受困于快速完成功能、不要把数据库查挂、一遍遍检查需求文档哪里有不明确的地方、让代码可维护可 review 历史行为中

@djbc #8 也许只是键盘的问题
pabupa
2020-07-10 23:14:25 +08:00
抽象。
dremy
2020-07-10 23:16:09 +08:00
把代码写的像艺术品
wqhui
2020-07-10 23:18:59 +08:00
将现实中的问题解决方案用代码描述,至于代码写的漂不漂亮我觉得是另一回事了吧
wy
2020-07-10 23:20:25 +08:00
首先需要想,而后才有可能形成思想。平时多问为什么。不要停留在使用层面,而是去思考这个工具的原理。另外,不要局限于前端,要视野开阔。编程思想,不分前后端。比如大多数前端路由都在使用 path-to-exp 这个库,如果你花时间研究了,就能掌握最简单的 LL(k) parser 的写法,之后遇到需要解析什么东西的时候就有思想了。多去了解自己在用的东西,从中学习他人的智慧。
Chowe
2020-07-10 23:31:52 +08:00
对于任意的输出,都有其对应的输入
这就是输入-处理-输出模型
也是最基本的计算思维之一
TreStone
2020-07-10 23:32:01 +08:00
一个字,抽象
TransAM
2020-07-11 00:02:50 +08:00
现实生活中:

抽象就是从一个执行流程中找到重复的部分,并加以自动化,智能化或者流程化。

组合就是把大任务拆小任务,再找出高优先级的步骤,找现有轮子解决他。
TransAM
2020-07-11 00:05:55 +08:00
OO 就是找一些事物的共性,并只关注你需要的部分,忽略可有可无的部分。

封装就是只告诉别人它应该知道 /想让他知道的东西

继承就是开始一个项目的时候先从现有方案(最好是现有开源项目)开始改

多态就是在什么场合就装成那个场合的老手,其他人管他叫赋能
levelworm
2020-07-11 01:09:03 +08:00
我觉得是把现实问题模型化并求解模型的能力。
huweic
2020-07-11 01:19:15 +08:00
理解计算机体系的运行,从沙子到二极管再到集成电路,从集成电路到 CPU 到操作系统再到 Java 、Golang 、JS,就像知道了每一条数学定理都是怎么推导而来的之后,也就不会再有什么是数学思维这种问题了。
araaaa
2020-07-11 01:24:59 +08:00
像计算机一样思考

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

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

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

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

© 2021 V2EX