程序员基础思维

好好学习,天天向上!

子曰:“吾日三省吾身:为人谋而不忠乎?与朋友交而不信乎?传不习乎?”

唯一不变的就是变化

人会变,技术也会变,业务也在变!我们唯一能做的就是减少变化,如何减少变化?抓住本质!对于技术人来说,不断充电才是提升职场竞争力的关键法宝。

拥抱变化,跟随着变化而变化。这样就可以已不变应万变!

没有完美

没有完美的人,也没有完美的软件,我们要做的是让它不断趋于完美。最理想的办法就是小步前进,这也是敏捷方法的核心。开发人员可以使用短迭代和增量开发,既专注又有效率,还能及时从反馈中获得新的灵感,一步步走向完美。

做好取舍

要哪些,不要哪些?业务需求上要取舍,架构设计上也要取舍。要一致性还是要可用性?要实时性还是要准确性?要吞吐量还是要正确率?

做好迭代

迭代,让软件更健全,让人也更全面。

保持简单

我们常说“less is more”,简单就是美!用简单的代码、简单的架构实现简单的功能!越简单,越接近本质,越通用!

做好抽象

业务逻辑要抽象,业务实体也要抽象。抽象能力是一种思维能力,需要多练习。

做好设计

数据库设计、实体设计、代码结构设计、架构设计。每个设计都是代码在你脑中的结构化的展现

保持节奏

这个节奏即是工作节奏,也是学习节奏。见过太多程序员,总是忙于工作,而忽略学习。节奏可以不让你慌乱,规划好编写代码、运行测试、Code Review、迭代到发布,整个项目有规律并循序渐进。他们把一个庞大的目标分割成数个小目标,设置好每个目标的 deadline,每完成一个目标也会更激励自己和团队,一起加速前进。

做好规划

不只是工作规划,还有个人规划。今年你要有哪些提升,你思考了吗?有了规划之后,你才有方向,才会朝着这个方向努力。

做好排期

项目中没有排期就像赛场上没有规则,东一棒头西一榔头。到头来啥也没有。排期过程中有一些坑需要避免:

  1. 要留20%以上的buffer。因为在软件开发过程中,复杂度总是超出想象的;
  2. 编码时间占总排期的30%以下。最重要的是设计,然后还有测试!

代码是不会骗人的

在排查问题的时候,不要怀有侥幸心理。出问题,肯定是有问题,没有找到问题,是自己的问题。

调整好心态

总听到有些工程师会说,我什么也没改,怎么会有问题?问题都来了,不要说自己有没有改,而是你现在有没有去排查!

系统化学习

软件问题层出不穷,里面可能涉及到硬件、网络、操作系统、数据库、分布式等等,面对问题应该有个系统化思维。