逛贴吧发现一个热帖, 就凑了凑热闹~~~
看到这样一个帖. 一程序员说自己刚写完代码, 就别公司老板给开除了. 为什么会这样的呢?
原来是这位程序员写了一段这样的代码:
- public static Date getNextDay() {
- try {
- Thread.sleep(24*60*60*1000);
- } catch (InterruptrdException e) {
- e.printStackTrace();
- }
- return new Date();
- }
这段代码本意是想要获取下一天的日期的. 结果这位程序员老哥写了个 sleep 函数, SLEEP 的作用是延时, 程序暂停若干时间, 在执行时要抛出一个中断异常, 必须对其进行捕获并处理才可以使用这个函数.
然后一群吧友纷纷进来吐槽."你他娘的真是个天才, 哈哈哈, 你是怎么进的公司啊?"
也有人表示佩服, 觉得很有想法 "没毛病啊, 睡一天不就是第二天了嘛"
看完这段代码, 学姐只想说思维真的是个有趣的 "灵魂", 再想想你们以后工作的时候用什么样的思维做事呢?
代码就是解决需求, 问题的思维过程, 一般说来发为四个环节或四个阶段: 发现和明确问题, 分析问题, 提出可实现的 N 种方案, 思考符合用户的最优选择.
第一个阶段一般都是产品经理或者你的直属领导给你分配好负责的板块或需求, 他会明确给你下达具体的要求.
而其他的阶段可以按照下面的几点去思考实现:
1, 分析与综合问题
通常一个需求不可能只有一种代码实现的方式, 这需要你从用户实际操作的体验上来进行考虑.
分析是在思维中把已过去需求的过程分解为个别属性或个别方面; 综合是在思维中把事物的各个部分, 个别属性或个别方面结合为一个有机整体.
分析与综合是彼此相反而又紧密联系的过程, 是同一思维过程中不可分割的两个方面. 分析为了综合, 分析才有意义; 分析基础上的综合, 综合者更加完备.
2, 比较实现的方式
若相当了 N 中实现需求代码的方式, 需要你多方的比较, 比较确定各种实现方式的相同点和差异点的过程.
比较是在分析和综合的基础上进行的, 找出确定事物的共同点和差异点.
3, 抽象与概括需求
分析, 比较是抽象的基础, 抽象又是概括的基础. 没有分析和比较就不能抽象, 没有抽象就不能概括.
抽象, 概括使我们的认识从特殊上升到一般, 把思想引向深化, 更正确, 更全面, 更本质地反映事物的需求.
4, 具体化实现过程
具体化是把概括出来的一般认识推广运用到同类其它事物中去的思维过程. 具体化是认识发展的重要环节, 它可以使一般认识不断扩大, 丰富, 深入和发展.
具体化是真正掌握科学知识, 避免理论与实际脱节的重要保证.
学姐主张, 解决问题需要的是冷静地面对和分析问题. 而了解在解决问题时的思维模式和认知局限, 是我们争取改善的第一步!
"我自己是一名老程序员, 辞职后在线上做讲师, 今年我整理了一份适合 2019 年学习的 Java 编程资料干货, 从最基础的面向对象到各种框架都有整理, 送给每一位初学和进阶中学习 Java 编程的小伙伴."
加 QQ 群: 730379855(招募中)
来源: http://www.jianshu.com/p/b118863a90ab