遇到问题思考设计是否完备是否到位,而不是代码层面补丁。
这不只是一个“意识”问题,更是一个习惯和基本功的问题。

最近项目里遇到处理问题的不到位的地方,这里mark下,也谈下自己看法

这是设计问题
一个常见的只见树木不见森林的情况,就是遇到问题就在代码层面各种处理,而看不到系统设计层面。
设计的问题就是设计的问题,如果看不到这一点,在代码上折腾,最终却是南辕北辙,得到的是一个无法维护的系统,进而把模块“写死”。
其实模块或者系统的功能设计并不复杂,所遵循的原则就那么几个,甚至可以以“清晰”一个词来概括。

新手遇到问题的时候常常就会在代码层面看事情,有一些条件没考虑全,更多的是认为思维不够缜密,赶紧补上这个条件,然后冲进下一个问题。
这很常见也很正常,因为这个就是人的直接反应。
所以在能够形成牢固的对于设计的嗅觉之前,至少我们可以做的一点就是“留意设计”–在看到问题的时候,始终问问自己,这是不是一个设计问题。

这是基本功问题
进一步来说,实际情况中,我们有各种设计的问题,并不是我们意识不到,而是项目进度的问题,时间非常的赶的话,你自然就没有时间去仔细思考设计,直接因为“时间太紧”来打各种补丁。
这里我们有两种选择,一个是继续抱怨项目进度,一个是持续推进自己的内功,在非常快的开发节奏中,保持设计和实现。
而后者其实是可以做到的,也有很多人做到了。
本质上,游戏开发特别像竞技运动,和NBA有很大相似之处。
我们遇到非常多的阻力,多变的需求,变态的进度,很像打球对位的时候,遇到的防守,我们当然可以抱怨防守太tmd变态了,但是好的球员面对变态防守都是能够正常的运球过人传球和得分。
真正nb的球员,可以被犯规的情况把球打进,在最后时刻投入绝杀。
what’s your choice?

总结&复习
解说的话,有意识就够了,上场比赛的时候,就要有强大的基本功,可以非常快的把设计和实现做好,甚至在更长的时间里,可以给自己留出空位(通过超越进度的开发速度),来进一步优化设计实现以及文档。
这里并无捷径,但有高效的方法:
通过持续的review看到设计实现基本功的提升带来什么样的结果–将自己带入正反馈循环。
通过刻意练习(总结复习),来高效的提升设计实现基本功。

这种基本功包括:

  • 设计的套路,各种问题如何处理,类似打球时候的各种技术
  • hold模块的能力,我们到底能hold住多大的模块,类似打球时候我们的力量和弹跳,如果实现的本身就是非常符合设计套路,那么hold住模块就容易非常多

嗯,说到刻意练习可以说是现在知识平台常推的东西,大规模实践中,也并不这么“刻意”,因为本质上,刻意练习更多是为了“比赛&考试”这种单次反复性质的事情而设立,比如反复练习提升自己“投篮”时候的姿势。
但是实际开发中,并不是反复做一个事情,而是大量的开发各种各样的系统,所以更加准确的说就是用心的总结和复习是非常符合实际情况的。

这是一个设计问题!!相关推荐

  1. figma设计_Figma与Adobe XD:我们如何选择下一个设计工具

    figma设计 The time came for changes and our design team started raising the topic again about how we s ...

  2. java皮丘 博客园,又一个设计工具 Framer X Preview

    又一个设计工具 Framer X Preview 所说比 Sketch 和 Figma 都要好用,不知道是不是真的 ~~ To give you a little background, I've b ...

  3. ActiveX 控件“Microsoft Chart Control 6.0(sp4)(OLEDB)不能例示,因为它需要一个设计时间许可

    问题: 我的电脑上安装的VC可能不全,导致没有 MSCHRT20.OCX这个控件!于是从网上下载了这个控件,然后 在 开始菜单run "regsvr32 MSCHRT20.OCX" ...

  4. [译] 如何创建一个设计体系来赋能团队 —— 关注人,而非像素

    原文地址:How building a design system empowers your team to focus on people - not pixels. 原文作者:Mariah Mu ...

  5. 支持分布式数据库同步操作的一个设计点:主键问题

    支持分布式数据库同步操作之表主键设计 如果应用需要进行异地部署,并且要进行同步复制等操作,那么对数据库进行设计时,要考虑数据库的同步和冲突问题. 这和读写分离的主从数据库同步稍有不同.因为不会有多个写 ...

  6. 微信公众号无需二次登录_您无需两次解决问题-您需要一个设计系统

    微信公众号无需二次登录 重点 (Top highlight) The design system concept can be differently defined according to eac ...

  7. 程序详细设计之代码编写规范_我在不编写任何代码的情况下建立了一个设计策划网站

    程序详细设计之代码编写规范 It's been just over a month since MakeStuffUp.Info - my first solo project as an indep ...

  8. java项目生成多个条码_java – 生成随机条形码 – 一个设计问题

    我正在修复生成条形码的java代码中的错误(线程问题).根据设计,条形码只是一个数字,下一个"未使用"条形码是序列中的下一个.有990亿可能的数字. 首先,由于安全问题,我不喜欢自 ...

  9. 一个设计低通巴特沃斯数字滤波器的实例

    本人本科渣渣一个,前两天导师让我设计一个数字滤波器.由于本人基本没有数字信号处理基础,于是只能依靠百度和matlab,折腾了半天总算是摸索明白了.百度上有一些文章不靠谱,很容易误导别人,故在此发一篇博 ...

最新文章

  1. Linux日常之允许或禁止指定用户或IP进行SSH登录
  2. 基于改进SURF算法的实时视频拼接
  3. php远程开机ubuntu,Ubuntu系统远程开机操作实例
  4. python中main()函数写法
  5. AJAX代码示例(不使用AJAX控件)
  6. Android的GridView和Gallery结合Demo
  7. 如何处理班级过多的问题
  8. Jq将字符串复制粘贴到剪贴板
  9. 二级VB培训笔记05:文件操作
  10. k-means及变种
  11. php进销存源码系统开发
  12. 通达oa mysql密码_谁知道通达OA数据库user表密码的加密方法?
  13. Mac电脑常见问题解答
  14. 关于使用ajax动态输出cnzz统计代码的问题
  15. 名帖301 刘墉 行书《自作诗卷》
  16. 爸妈老了而我还未长大--《Coraline》观后感
  17. 【2021-07-26】JS逆向之某某西游藏宝阁
  18. 云的基本概念(公有云、私有云、 IaaS、PaaS、SaaS)
  19. MATLAB马氏链分析工具
  20. iOS开发-声网Agora Demo

热门文章

  1. 自动发送短信(Android)
  2. Java 分布式生成ID—雪花算法
  3. [附源码]Java计算机毕业设计SSM高校迎新管理系统
  4. 气候统计实习——EMD与ESMD方法介绍与应用(附matlab代码)
  5. 学习杂记十六:matlab—孔洞填充实例
  6. 7-2 心理阴影面积 (5分)
  7. TabLayout+ViewPager无限轮播加小圆点,XRecyclerView下拉刷新,加载更多
  8. 学习iOS开发前要知道的事儿
  9. SpringCloud商城day07 商品搜索-2021-10-12
  10. MXNet入门之数据操作