如何提高方案设计、程序设计的能力呢?

2019-09-24 16:30:15 +08:00
 javaWeber

我是一个后端小码农。

感觉现在只会写写接口,缺乏设计能力。

比如,我要实现一个功能,经常需要去问高工,应该用什么方案实现。

然后高工就跟我讲,第一步做什么,第二步接着做哪些。。

有时候有了方案,看流程图也会有点蒙,不明白为什么要这样设计流程。

如果没人讲方案,我写代码就总是没思路。

如何提高方案设计的能力?

你是怎么只会写接口,进阶到能够进行方案设计的?

2338 次点击
所在节点    程序员
8 条回复
saulshao
2019-09-24 17:32:25 +08:00
这实际上是个逻辑的问题,设计的意思其实是我们有输入输出,然后根据自己掌握的技术选择实现的方法。
你的问题太泛了,可以尝试用几个例子来讲。
userdhf
2019-09-24 17:43:00 +08:00
什么 erp cms 商城
多做几套下来,就知道各种业务流程和模块划分
其实方案设计就是业务流程的实现
taogen
2019-09-24 17:51:04 +08:00
自己动手完整做个项目,比如做个商城。从需求分析,功能设计,数据库设计,代码实现。做的时候,遇到不知道如何做的,肯定是要参考别人是怎么做的,所以会强迫自己去借鉴和思考。如谷歌搜索相关的设计文档,搜索 GitHub 相关项目,参考别人的数据库设计(实体类字段),看别人的项目代码结构。
Vegetable
2019-09-24 17:51:17 +08:00
今天第二次发这个知乎问题了

什么是「工程能力」? - Patrick Zhang 的回答 - 知乎
https://www.zhihu.com/question/65779990/answer/235502071

最重要的是学会自己思考,搞不明白就包明白为止.
laravel
2019-09-24 19:59:03 +08:00
我以前也是这样的,但是自己用 laravel + vue 做了个微信公众号里的商城,就好多了。
我这几年学的觉得特别有用的就是 MQTT 协议和 MIT 8.624 了,你也可以看看。
我们程序员平时应该多看看 人人都是产品经理,看他们分析需求,多参考下界面设计,我觉得对我们很有好处。
laravel
2019-09-24 20:01:42 +08:00
烂代码写多了,你都觉得自己写的恶心,能不学设计模式、数据结构、分布式系统吗?我反正是代码看着不爽我就想删了重写,想找到个 best practice,我也经常看老外的教程,想看看人家是怎么做的。
wnpllrzodiac
2019-09-24 20:20:00 +08:00
多设计
janus77
2019-09-25 10:34:18 +08:00
画流程图是为了提高考虑多种分支条件的能力。
你一般平时写的代码都是在各种条件一定的情况下考虑的输入输出
但是如果扩大到整个系统,你应该考虑,如果有其他情况应该怎么办?这时候就需要改接口了,也就是“为什么这样设计”。
但不画流程图你很容易忽略那些所谓的“其他情况”。
我举个最简单的例子吧
商城有 pc 端和 app 端
如果你在双端同时打开同一个未付款订单,app 做了操作。pc 不刷新,继续点付款。能否成功?
最简单的结果就是:接口直接执行付款并返回成功。
但是你在这之前要考虑各种条件,比如另一端已付了怎么办?要判断。退了怎么办?要判断。
各种各样的判断,这是在你第一版的接口中考虑不到的。
如果你的设计能力高,你就会自然而然想到这些情况并在第一版就考虑到。

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

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

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

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

© 2021 V2EX