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