V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
javaWeber
V2EX  ›  程序员

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

  •  
  •   javaWeber · 2019-09-24 16:30:15 +08:00 · 2386 次点击
    这是一个创建于 1874 天前的主题,其中的信息可能已经有所发展或是发生改变。

    我是一个后端小码农。

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

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

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

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

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

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

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

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

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

    最重要的是学会自己思考,搞不明白就包明白为止.
    laravel
        5
    laravel  
       2019-09-24 19:59:03 +08:00
    我以前也是这样的,但是自己用 laravel + vue 做了个微信公众号里的商城,就好多了。
    我这几年学的觉得特别有用的就是 MQTT 协议和 MIT 8.624 了,你也可以看看。
    我们程序员平时应该多看看 人人都是产品经理,看他们分析需求,多参考下界面设计,我觉得对我们很有好处。
    laravel
        6
    laravel  
       2019-09-24 20:01:42 +08:00   ❤️ 1
    烂代码写多了,你都觉得自己写的恶心,能不学设计模式、数据结构、分布式系统吗?我反正是代码看着不爽我就想删了重写,想找到个 best practice,我也经常看老外的教程,想看看人家是怎么做的。
    wnpllrzodiac
        7
    wnpllrzodiac  
       2019-09-24 20:20:00 +08:00 via Android
    多设计
    janus77
        8
    janus77  
       2019-09-25 10:34:18 +08:00
    画流程图是为了提高考虑多种分支条件的能力。
    你一般平时写的代码都是在各种条件一定的情况下考虑的输入输出
    但是如果扩大到整个系统,你应该考虑,如果有其他情况应该怎么办?这时候就需要改接口了,也就是“为什么这样设计”。
    但不画流程图你很容易忽略那些所谓的“其他情况”。
    我举个最简单的例子吧
    商城有 pc 端和 app 端
    如果你在双端同时打开同一个未付款订单,app 做了操作。pc 不刷新,继续点付款。能否成功?
    最简单的结果就是:接口直接执行付款并返回成功。
    但是你在这之前要考虑各种条件,比如另一端已付了怎么办?要判断。退了怎么办?要判断。
    各种各样的判断,这是在你第一版的接口中考虑不到的。
    如果你的设计能力高,你就会自然而然想到这些情况并在第一版就考虑到。
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   1111 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 27ms · UTC 18:32 · PVG 02:32 · LAX 10:32 · JFK 13:32
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.