最近在重新读《重构》这本书,关于第二章 重构原则,我摘录出一些要点,和大家分享一下。 重构:对软件内部结构的一种调整,目的是在不改变软件可观察行为的前提下,提高其可理解性,降低其修改成本。 使用重构技术开发软件时,你把自…
分类:架构
数据算法 Hadoop/Spark大数据处理---第一章
1.定义输入和输出为: 输入数据格式为:年,月,日,温度。格式为2012,01,01,05 输出数据的格式为:年-月,温度。 格式为:2012-01,3,30 ,35。 2.使用MapReduce来完成上述二次排序的需求…
LSP 里氏替换原则
Liskov’s Substitution Principle 动机 我们进行模块设计时一般都是先建立一些继承体系,也就是一些抽象基类,然后新建派生类来扩展功能。 我们必须确保新的派生子类只是扩展基类的功能而…
女程序员的梦,众网友的神回复
女程序员发的一条微博: “昨晚梦见男朋友和别的女人在逛街,梦里我的第一反应就是查源代码,结果调试半天查不出来为什么显示的那个女人不是我,最后含泪把那个女人注释掉了,再一运行就是我男朋友自己逛街了。” 众网友的神回复: 1…
C++ 11的类型推导 auto
在声明变量时使用auto代替类型,C++编译器就会自动推导出变量的类型 auto sum = 1 + 1; sum被推导为int,使用auto声明的变量必须要被初始化 联合声明中的类型推导 auto a = 1,b = …
一点心得:产品设计需要注意的细节
一、登录: 1、登录进入主页时,点击返回,不应该回到登录界面,而是提示“是否退出”,再按返回则退出。 启发:不能只看到用户前进的路径,要考虑到用户操作返回的情况。 2、注意快捷登录模块、记住密码功能、登录历史功能。 3、…
设计模式-建造篇(单例模式)
单例模式是最简单的模式,也是项目中最常使用的模式。 它的目的非常明确就是为了 : 在项目中,一个类仅有一个实例,并提供一个访问它的全局访问点 /** * Created by malei on 2016/12/5. */…
关于代码风格
为什么强调代码风格 不同的语言,不同的项目,都有自己的风格,就像每个人都有自己的特点一样。 代码风格是一个不容易引起注意,但又回避不了的问题。一个人独自开发的工作,对代码风格是没有明显感知的,但一群人一起开发就不一样了。…
Java语言编程规范
写在最前面 做开发三年多了,手上做过很多项目。有自己从头开始做的,也有很多是迭代开发的。相信各位程序猿从到公司接到迭代类的项目,都有一个冲动,想重写别人的代码,觉得项目的框架或者是业务太混乱,看不懂等等。其实大家都知道程…
lintcode 最长公共前缀
给k个字符串,求出他们的最长公共前缀(LCP) 样例 在 “ABCD” “ABEF” 和 “ACEF” 中, LCP 为 “A̶…
免费编程知识总结
注:该篇文章摘自于 github.com/vhf/free-programming-books,英文版。访问该项目获取更多。 Index Ada Agda Alef Android APL Arduino ASP.NET…
随笔:wait sleep notify notifyAll
有什么错误,请指正,共同学习 ### wait sleep notify notifyAll #### 1、sleep依旧占用锁 #### 2、wait释放锁 #### 3、wait notify notify 必须在锁…