我是一个后端小码农。
感觉现在只会写写接口,缺乏设计能力。
比如,我要实现一个功能,经常需要去问高工,应该用什么方案实现。
然后高工就跟我讲,第一步做什么,第二步接着做哪些。。
有时候有了方案,看流程图也会有点蒙,不明白为什么要这样设计流程。
如果没人讲方案,我写代码就总是没思路。
如何提高方案设计的能力?
你是怎么只会写接口,进阶到能够进行方案设计的?
1
saulshao 2019-09-24 17:32:25 +08:00
这实际上是个逻辑的问题,设计的意思其实是我们有输入输出,然后根据自己掌握的技术选择实现的方法。
你的问题太泛了,可以尝试用几个例子来讲。 |
2
userdhf 2019-09-24 17:43:00 +08:00
什么 erp cms 商城
多做几套下来,就知道各种业务流程和模块划分 其实方案设计就是业务流程的实现 |
3
taogen 2019-09-24 17:51:04 +08:00 via Android
自己动手完整做个项目,比如做个商城。从需求分析,功能设计,数据库设计,代码实现。做的时候,遇到不知道如何做的,肯定是要参考别人是怎么做的,所以会强迫自己去借鉴和思考。如谷歌搜索相关的设计文档,搜索 GitHub 相关项目,参考别人的数据库设计(实体类字段),看别人的项目代码结构。
|
4
Vegetable 2019-09-24 17:51:17 +08:00
今天第二次发这个知乎问题了
什么是「工程能力」? - Patrick Zhang 的回答 - 知乎 https://www.zhihu.com/question/65779990/answer/235502071 最重要的是学会自己思考,搞不明白就包明白为止. |
5
laravel 2019-09-24 19:59:03 +08:00
我以前也是这样的,但是自己用 laravel + vue 做了个微信公众号里的商城,就好多了。
我这几年学的觉得特别有用的就是 MQTT 协议和 MIT 8.624 了,你也可以看看。 我们程序员平时应该多看看 人人都是产品经理,看他们分析需求,多参考下界面设计,我觉得对我们很有好处。 |
6
laravel 2019-09-24 20:01:42 +08:00 1
烂代码写多了,你都觉得自己写的恶心,能不学设计模式、数据结构、分布式系统吗?我反正是代码看着不爽我就想删了重写,想找到个 best practice,我也经常看老外的教程,想看看人家是怎么做的。
|
7
wnpllrzodiac 2019-09-24 20:20:00 +08:00 via Android
多设计
|
8
janus77 2019-09-25 10:34:18 +08:00
画流程图是为了提高考虑多种分支条件的能力。
你一般平时写的代码都是在各种条件一定的情况下考虑的输入输出 但是如果扩大到整个系统,你应该考虑,如果有其他情况应该怎么办?这时候就需要改接口了,也就是“为什么这样设计”。 但不画流程图你很容易忽略那些所谓的“其他情况”。 我举个最简单的例子吧 商城有 pc 端和 app 端 如果你在双端同时打开同一个未付款订单,app 做了操作。pc 不刷新,继续点付款。能否成功? 最简单的结果就是:接口直接执行付款并返回成功。 但是你在这之前要考虑各种条件,比如另一端已付了怎么办?要判断。退了怎么办?要判断。 各种各样的判断,这是在你第一版的接口中考虑不到的。 如果你的设计能力高,你就会自然而然想到这些情况并在第一版就考虑到。 |