写代码的时候没有思路 不知道如何写起,请教如何培养训练编程思路 谢谢!

2019-06-19 15:57:53 +08:00
 Frank2
13782 次点击
所在节点    程序员
135 条回复
ruandao
2019-06-20 00:13:30 +08:00
how to design program
abeford
2019-06-20 00:17:37 +08:00
站在数据的层面想?
一步步倒退上来?
notreami
2019-06-20 01:21:29 +08:00
看了一圈,大家难道不知道写代码前要出设计方案嘛??设计方案出来,还会缺写代码思路嘛??
miv
2019-06-20 05:56:45 +08:00
有道无术,术尚可求。
有术无道,止于术
softtwilight
2019-06-20 06:43:21 +08:00
看代码,看非常多的代码
Frank2
2019-06-20 07:40:49 +08:00
@notreami 您说的设计方案具体指的是先用文字在纸上写出实现的步骤 再用代码实现?
liang7878
2019-06-20 07:54:02 +08:00
多刷算法题,学好设计模式(知道理论,阅读实际项目中有关该设计模式应用的代码)。本渣只能知道到这个程度了
Frank2
2019-06-20 08:02:49 +08:00
@liang7878 编程最重要的是把问题抽象的能力 具体的代码思路培养锻炼有什么好的书籍推荐么 主要是写代码的时候思路不清晰 需要一个编程思路框架
RockShake
2019-06-20 08:30:20 +08:00
无他唯手熟尔
silentstorm
2019-06-20 08:52:54 +08:00
设计-开发-测试
首先得有设计,就是你得知道自己想要干什么。
就像你在这里问大家有什么思路,大家只能给你泛泛的回答。因为不知道你到底想开发什么,实现什么功能。
Frank2
2019-06-20 09:05:20 +08:00
@silentstorm 举个例子说明一下比如需要开发几个电商的功能模块 商品模块

1.商品管理:商品和商品包的添加、修改、 删除、复制、批处理、商品计划上下架、SEO、商品多媒体上传

2.商品目录管理:树形的商品目录组织管理,并可以设置关联 /商品推荐。

3.商品类型管理:定义商品的类型,设置自定义属性项、SKU 项和商品评论项。

4.品牌管理:添加、修改、删除、上传品牌 LOGO。

5.商品评论管理:回复、删除。

整体大概框架有 但是不知道写代码的大概思路 怎么抽象化 思路具体点怎么一步一步实现功能 最后怎么整合代码
jzmws
2019-06-20 09:07:54 +08:00
复杂的我会先在方法上用文字描述出来,把大体的思路写出来 ,然后开始写大的代码 , 保证可以用,后面再考虑优化的
waiaan
2019-06-20 09:16:58 +08:00
光看没有用,一定要自己写,然后不断修改。
keikeizhang
2019-06-20 09:20:33 +08:00
@Frank2 #71 你写的这些条,都不需要原型,应该是可以直接平推掉的需求
Frank2
2019-06-20 09:21:27 +08:00
@jzmws 就是说先用文字方式把思路写出来 再转成代码实现功能么?主要是第一步分析功能实现的思路 不知道怎么下手 怎样实现功能把业务逻辑用文字形式表达清晰 最后用代码实现
keikeizhang
2019-06-20 09:23:38 +08:00
@Frank2 #71 比如第三条

想一下表如何设计,id 父 id name ...

输出的时候 父 子关系对应好 根据 id 和父 id 一个递归搞定

前端添加子商品的时候要求把父 id 一起给过来,所以接收的参数有 父 id 和 name ...

= =# 大概就这样吧...

这个用语言形容居然这么麻烦...
jzmws
2019-06-20 09:23:39 +08:00
@Frank2 差不多是这样的 ,代码这种东西多写就可以了 ,我现在看到业务就可以知道要做哪些了
Frank2
2019-06-20 09:30:02 +08:00
@jzmws 用文字形式写思路的时候你平时画逻辑图么
Frank2
2019-06-20 09:36:20 +08:00
@keikeizhang 嗯嗯,写代码之前的设计思路很重要,有什么好的方法培养自己独立的编程思路么?如果经常参考别人写的代码思路 会不会受别人的思路影响 产生思维定式 编程逻辑分析和抽象能力 有啥方法提升么
ddzy
2019-06-20 09:36:54 +08:00
@Frank2 分成四步走:
1. 需求分析
- 什么需求? (购物车)
2. 实景分析
- 带到实际生活中来, 把我当成一个消费者, 我会做什么操作?
- 增加 or 删除商品
- 商品详情入口
- 提交订单
- ....
3. 代码思路
- 把上面第二步的对象, 引申一下
- `消费者` 就相当于写代码的人
- `购物车` 可以看作一个类
- `购物车` 内部提供诸如`提交订单`之类的操作
4. 代码编写
- 略

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

https://tanronggui.xyz/t/575511

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

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

© 2021 V2EX