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

2019-06-19 15:57:53 +08:00
 Frank2
13788 次点击
所在节点    程序员
135 条回复
nyfok
2019-06-21 00:09:50 +08:00
和写作文一样。先写提纲 =》 main 主程序+类+接口。然后一个个模块,step by step 一个个写就行了。除非是做研究型算法和建模,一般的开发都可以用这个方法。
hzalbl
2019-06-21 09:17:11 +08:00
刚入行也是这样 ,多看 多模仿, 可以先实现需求在优化, 慢慢的就好了
Frank2
2019-06-21 10:41:18 +08:00
@nyfok 好的谢谢 老师方便说一下您的经验么?我之前尝试过写代码之前 先用文字写要实现的功能步骤 但是涉及到代码实现的时候 思路没有了 培养锻炼编程思路有什么好的学习方法么
Frank2
2019-06-21 10:44:57 +08:00
@hzalbl 嗯嗯,以前就是经常模仿借鉴别人的代码 能理解他们写的代码思路,但是自己去实现的时候 大脑里基本上是别人的代码思路
nyfok
2019-06-21 10:54:19 +08:00
@Frank2 我的方法就两个,第一:写足够多的代码,不要整天的增删改查,可以自己尝试写个框架,有 lucene,就写个自己的 lucene,有 hadoop,就写个自己的 hadoop,这样提高最快。第二:多看大神的代码,多上 github,这样能够给自己编程很多启发。第三:我从不写文档,代码及文档,先写代码核心 main 和接口、类,加上注释先,然后慢慢细化、丰富。
Frank2
2019-06-21 11:00:20 +08:00
@nyfok 嗯嗯,当遇到功能点开发的时候 比如 一个购物车的功能 实现思路你是怎么处理的 是先画图写实现思路 再用代码实现 还是有其它的方法
ChristianChen
2019-06-21 11:07:01 +08:00
思维导图
nyfok
2019-06-21 11:46:05 +08:00
@Frank2 纸上画逻辑图,再代码
tianyou666shen
2019-06-21 13:45:59 +08:00
@Frank2 这个问题很好 我在两个月前也是困扰 当时独立负责一个后端接口的划分 数据库设计 感觉这方面力不从心 后来自己总结了一下 到现在可以说独立设计一个模块了然于心了.
1.用笔写下来,一个系统有几个模块,比方商城:商品模块,登陆模块,下单模块,聊天模块.
2.写一个模块的具体功能点.商品模块肯定要有商品添加,商品库存修改,商品信息修改,查询商品.
3.写具体每个功能点的实现,商品添加,那么对应要有个商品表,基于商品 ID 做主键(或者单纯 ID),需要字段有,品名,所属类目,二级类目,单价,库存.图片,介绍文字等.
3.b 有了数据库表设计,就可以写功能点的实现逻辑了.商品添加,就是一个 html 界面,配置商品的个个字段,存入商品表.
5.按照写好的实现逻辑组织代码,用各种类库,数据库 curd 把这个小积木搭起来.
这是我自己琢磨的实现方式,现在开发中在用,感觉对于 现实需求->系统->逻辑实现 这个事情有个直观的把握,代码也更有目的性.
tianyou666shen
2019-06-21 13:47:03 +08:00
希望遇到这个问题的同学能补充下,如果提高编码设计的能力,主要是把需求转为实际代码的能力?
Frank2
2019-06-21 14:32:26 +08:00
思路这个东西,怎么才能在编写代码前理清,以前学校里上课的时候,老师总是提一件事情,就是做题要先写思路,思路很重要。可是,很多代码在写的时候,不知道是为什么,总是不知道怎么写,所以总是写完了添注释。感觉思路就很模糊,只是以前接触过才知道是那么写,但是一个题是什么思路就很不清楚。
Frank2
2019-06-21 17:44:38 +08:00
@ChristianChen 思维导图做原型不错 程序语言基础还可以 就是遇到功能点开发 思路没有 写代码不知道从哪入手
nuistzhou
2019-06-21 23:25:59 +08:00
@tianyou666shen 嗯,总结得很好,感觉就像是软件工程中学的,写 user story, 花 UML, 等等。
qq1004108488
2019-08-08 17:15:30 +08:00
@Frank2 《学而不思则罔,思而不学则殆》这个你小学都学过的知识,就很好的回答了你问得问题。
qq1004108488
2019-08-08 17:18:39 +08:00
@Frank2 怎么培养自己的思路就是坚持想和写伪代码。我写项目一般想的时间是写的时间的两倍,如果你前期思维没那么快,就想写步骤(伪代码),然后再想合不合理。合理再填充真实代码。一般初级程序员最大的问题就是拿到需求就直接写,写一步是一步,最后发现一点点改动就要重构整个逻辑,得不偿失。当你想的比写的多了,自然就有自己的思路了。

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

https://tanronggui.xyz/t/575511

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

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

© 2021 V2EX