• 程序随感备录


    【1】潜规则

    各行各业都有潜规则。程序也不例外。

    顺序(main),即逻辑;判断(if),即业务;循环(for),即坚持。

    【2】关系

    社会上没有一处人事关系不复杂。其实,程序也一样的,大系统中对象与对象之间的关系也很复杂。

    【3】辈分

    现实中往往存在排资论辈的现象。在程序中,一个对象继承于谁也相当重要。

    【4】比较

    要比较两个对象,必须先保证类型一致。正如现实中有些东西不可相提并论。

    【5】对象

    程序员不好找对象与职业有密切原因。长期从事编程的人很理性,逻辑思维性很强,而感情恰恰没有逻辑可循,太理性不宜与女孩子沟通。

    比如,女孩子分不清楚东南西北,要换种方式用前后左右来交流。

    【6】类比

    所谓类比,即同类问题对比分析。计算机程序的本质是对现实世界的模拟,那么,每一条语句每一行代码客观上都可以映射到现实世界的具体应用。

    【7】类与对象的关系

    引用刘润的这句话加深理解:不抽象,我们就无法深入思考;不还原,我们就看不到本来面目。

    认知事物和思考有两个基本的逻辑法则:归纳法和演绎法。归纳法是从个别到一般,演绎法是从一般到个别。

    【8】核心竞争力

    每个公司客观都会有很多坑,而公司招员工进来就是为了填坑,所谓核心竞争力,即填坑的综合能力。

    从微观而论,遇到一个严重BUG可以认为掉坑里去了;由宏观而论,入职一个公司其实也就是跳进了一个大坑里而已。

    【9】并发症

    医学上,患糖尿病时间长了会引起一系列并发症。其实,程序也是一样的,当一个坑不及时解决,程序演化得越久可能会引起更多的并发症。

    【10】没有绝对的正确

    程序应用也是如此,比如很多语言逻辑操作符都认为0为假,但是Lua语言就认为0为真,仅有nil或false为假。

    【11】填坑力

    每个公司都有很多坑,每个公司招聘员工都是为了填坑,所以工作的核心正是填坑。填坑力是一种核心竞争力。

    【12】不世故

    理解计算机系统比理解人简单,因为她不世故,一视同仁,不讲人情,没有主观情绪。

    【13】现代简约式Python

    装修行业有个推荐的风格-现代简约式,编程语言也类似,Python语言就对得起这个风格,简约、优雅、现代。

    【14】可重建性

    可重建性,即可重新构建的特性。软件与实体的主要区别在于其可重建性,若发现重大问题,修改代码,可重新构建新的版本。

    假如建一座大楼,一旦建成后,发现有什么致命的缺陷,想推倒重新建一次,是非常不切实际的。但是,软件可以实现这个理想,其实,也可以理解为试错成本低。

    【15】场景

    程序开发的前期预研阶段,需要尽可能考虑清楚功能或问题的所有场景。

    比如,人与人之间的利益关系场景:损人损己、损人利己、损人不利己,利己不损人,利己利人、利人不利己、舍己为人。

    共七种可能性。那怎么可以考虑全面呢?必须有个内在的逻辑,如上按境界高低进行归纳排序,越往后境界越高。

    【16】综合能力

    什么叫综合能力?不能仅仅会一方面,要兼顾相关方面。

    简单理解,就是作为程序员必须要会修电脑;作为厨师必须要会修电磁炉;作为理发师必须要会修吹风机。

    【17】内在技术 外在业务

    作为一名程序员,始终要保持学习状态,对于技术的要求,必须是内在的动力。因为公司侧重于利用你,而不会花太多时间或财力培养你。

    对于工作的考核,公司更侧重于业务培养,而业务的实现本质上依赖技术的支撑。因而所谓,内在技术,外在业务。

    【18】系统性

    所谓系统性,坚持从整体性原则出发,考虑问题时坚持立足整体、统筹全局、把握规律。成为一个做事情拥有一套完整科学方法的人。

    【19】人、事、方法论

    在公司工作,概括起来 ,每天不外乎三样事情:人、事、方法论。

    【20】增删改查

    增删改查是代码程序中最常见的行为操作,其实还是那句“计算机是对现实世界的模拟”,反观生活中的网购:

    下单算作增,退货即删,换货即改,货比三家即查。

    有时候,甚至觉得,家里的某件东西(比如:剪刀、胶带、钳子等)都可以如此理解,用剪刀来举例:

    买了一把剪刀,即增;

    扔了一把剪刀,即删;

    换了一把剪刀,即改;

    在诺大个房间找一把剪刀,即查。

    综上所述,想表达的是,家里用东西一定要有固定的地方,因为如上分析你会发现查是最频繁且浪费时间的行为。

    【21】每个函数都不简单

    一个类中每个函数对应着就赋予了此类的对象某种能力,所以,每个函数都不简单。

    【22】认知

    人与人之间最大的差别不是智商或财富,而是思考问题的层次和模式。程序员尤其需要提升认知维度。

    比如,一个优秀的开发人员,会在需求人员进行需求交底时,挖出需求人员真正的潜在期望。

    有了这个能力,就为方案设计时争取更多的主动权,也为程序未来的扩展性奠定了基础。

    其实,个人认为,所谓认知就是抽象、归纳、总结的能力。

    【23】高手

    三百六十行,行行出状元。承认每个行业都有高手,那么一般怎么能识别出高手和一般人呢?

    看问题抓本质,高手可以把很专业的领域内容通过形象的类比解释得通俗易懂,人人都能理解并欣赏,老少皆宜。

    一般人是把简单的专业名词包装粉饰装潢搞得让同行业都看不懂,反而觉得自己很牛逼的人。

    【24】待续.....

    Good Good Study, Day Day Up.

    顺序 选择 循环 总结

  • 相关阅读:
    conrtex 和 ARM 的关系
    C语言中的内存分配深入
    钳位电路
    向量中断与非向量中断的区别
    Freescale PowerPC处理器优势
    路由器端口映射,远程桌面连接端口映射+花生壳=让人访问你个人服务器或WEB站点
    linux 下用G++编译C++
    Javascript基础知识篇(1): 初识Javascript
    Javascript实战应用篇(3):动态加载JS和CSS文件
    Javascript高级技术篇(1):搭建JS框架类库
  • 原文地址:https://www.cnblogs.com/Braveliu/p/9132595.html
Copyright © 2020-2023  润新知