注册登录
产品
社群
使用“Bing”搜本站
使用“Google”搜本站
使用“百度”搜本站
✓
站内搜索
注册登录
问答
博客
资讯
标签
用户
活动
极客观点
项目管理
HarmonyOS
开发者社区
热门标签
javascript
前端
python
node.js
react
vue.js
php
laravel
go
人工智能
mysql
linux
ios
java
android
css
typescript
spring
程序员
ONES 研发管理
思否企业问答
问答
博客
资讯
标签
用户
活动
极客观点
项目管理
HarmonyOS
开发者社区
热门标签
javascript
前端
python
node.js
react
vue.js
php
laravel
go
人工智能
mysql
linux
ios
java
android
css
typescript
spring
程序员
ONES 研发管理
思否企业问答
horance
38
获赞数
0
关注数
29
粉丝数
关注他
发私信
西安
山东大学 | 计算机软件与理论
codingstyle.cn
IP 属地未知
2016-03-07 加入
浏览 8.6k
举报
屏蔽
主页
回答
提问
文章
27
更多
刘光聪,程序员,敏捷教练,开源软件爱好者,具有多年大型遗留系统的重构经验,对OO,FP,DSL等领域具有浓厚的兴趣。
255 声望
|
学徒
java
135
函数式编程
134
设计模式
124
scala
75
正交设计
71
1
黄金勋章
归零进一
白银勋章
暂未获得该勋章
如何获得
1
青铜勋章
自传作者
个人动态
发布了文章
2016-04-04
Java8 Lambda本质论
horance
Lambda的本质 需求1. 按照产品的重量进行升序排序 此处使用「匿名内部类」的设计,但掺杂了较多的语法噪声,引入了不必要的复杂度。 {代码...} 使用Lambda表达式,可以进一步消除语法噪声,简化设计。 {代码...} 也就是说,Lambda其本质是「匿名内部类」的一种「语法...
发布了文章
2016-04-03
重构:最委屈的工程实践
horance
重构误区 重构变成了业界最委屈的工程实践之一,管理层不支持,而程序员吃力不讨好。归根结底,是对「重构」错误地理解,给管理层带来很多负反馈。 将事情做好,还得正确地做事。重构是一个系统工程,不仅仅要求雄厚的软件设计素养,同时需要正确的做事方法。 大谬不...
发布了文章
2016-04-03
Scala Essentials: 剖析 List
horance
DRY List Nil对象定义在scala.collection.immutable.List中。 {代码...} Nil可以通过::方法追加新的元素,并返回新的List。 {代码...} List可以通过:::连接两个List,并返回新的List。 {代码...}
发布了文章
2016-04-03
Scala Essentials: 隐式转换
horance
java.lang.String并存在exists方法,为此标准库中在Predef定义了一个隐式转换,使String隐式地转换为StringOps,从而提供更多地操作字符串的方法。
发布了文章
2016-04-03
Scala Essentials: 类型约束
horance
Scala提供了另一种类型界定的手段,与类型界定操作符<:, <%具有微妙的关系。 T <=< U:T是否与U类型相等 T <:< U:T是否是U的子类型 T <%< U:T是否可以隐式地转换为U类型 类型界定常常用于以下两种场景: 在泛型类中,定义在特定条件下的才...
发布了文章
2016-04-03
Scala Essentials: 剖析 var/val
horance
var {代码...} {代码...} var自动生成了「读写」的接口; var表示可变对象,代表了一种「命令式」的思维; val {代码...} {代码...} val只生成了「只读」的接口; val表示不可变对象,代表了一种「函数式」的思维; val蕴含了final的语义; private {代码...} {代码....
发布了文章
2016-04-03
Scala Essentials: 字符串内插
horance
Scala是一门高度可扩展性的程序设计语言,保持微小的内核,但具有无穷大的扩展能力。例如,「字符串内插」功能,Scala语言并不是原生地支持该特性,而是通过类库的扩展来实现的。
发布了文章
2016-04-03
Scala Essentials: 字面值
horance
类型系统 引用类型 AnyRef的子类 使用new构造对象 当存在默认构造函数,可以略去括号 AnyRef等价于java.lang.Object 可以将null赋值给Reference Type 值类型 AnyVal的子类 Char, Byte, Short, Int, Long, Float, Double, Unit, Boolean 不能使用new构造实例,而使用L...
发布了文章
2016-03-15
持续学习
horance
我出生时,父亲为我取名「刘光云」,承“光”辈,单字“云”。但自上学之后,便「不知所云」。有一天语文老师说文解字道:“聪者,耳到,眼到,口到,心到也”。判若相识恨晚的感觉,我对“聪”字「情有独钟」,随将自己的名字改为「刘光聪」。
发布了文章
2016-03-10
Refactoring to Functions
horance
OO makes code understandable by encapsulating moving parting, but FP makes code understandable by minimizing moving parts. -Michael Feathers
发布了文章
2016-03-10
The Coding Kata: FizzBuzzWhizz in Modern C++11
horance
至今,C++社区仍具有强大的生命力,尤其自C++11出现后获得了新生。C++到底存在什么样的魅力,让人如此痴狂呢?本文试图阐述C++的设计思维,并揭示C++内在的设计本质;最后通过FizzBuzzWhizz的设计和实现一展C++11的风采。
发布了文章
2016-03-10
The Coding Kata: FizzBuzzWhizz in Ruby
horance
Functional programming leads to deep insights into the nature of computation. -- Martin Odersky
发布了文章
2016-03-10
The Coding Kata: FizzBuzzWhizz in Java8
horance
Functional programming leads to deep insights into the nature of computation. -- Martin Odersky
发布了文章
2016-03-10
The Coding Kata: FizzBuzzWhizz in Scala
horance
Functional programming leads to deep insights into the nature of computation. -- Martin Odersky
发布了文章
2016-03-10
你无法忍受Google Test的9个特性
horance
这种严格的规则,虽然给Google Test的实现带来了诸多便捷之处,但这给用户造成了很大的负担。尤其当一个用例需要描述一个数学逻辑规则时,用例的表达力将大大折扣。
发布了文章
2016-03-10
Magellan: A Simple xUnit Test Framework in Modern C++11
horance
Magellan是一个简单的、可扩展的、使用C\+\+11实现的xUnit测试框架。Magellan设计灵感来自于Java社区著名的测试框架JUnit。
发布了文章
2016-03-10
浅谈C++物理设计:实用宏
horance
Config.h提供了编译器支持C++11特性的配置信息。ABSTRACT, OVERRIDE, EXTENDS, IMPLEMENTS等关键字,使得Java程序员也能看懂C++的代码,也极大地改善了C++的表现力。
发布了文章
2016-03-10
浅谈C++物理设计:最佳实践
horance
如何保证自满足 为了验证头文件设计的自满足原则,实现文件的第一条语句必然是包含其对应的头文件。 反例: {代码...} 正例: {代码...} override和private 所有override的函数(除override的virtual析构函数之外)都应该是private的,以保证按接口编程的良好设计原则...
发布了文章
2016-03-10
浅谈C++物理设计:设计原则
horance
所有头文件都应该自满足的。看一个具体的示例代码,这里定义了一个TestCase.h头文件。TestCase对父类TestLeaf, TestFixture都存在编译时依赖,但没有包含基类的头文件。
发布了文章
2016-03-10
浅谈C++物理设计:代码规范
horance
第一种命名规则问题在于:当文件名重命名或移动目录时,需要同步修改头文件保护宏;推荐使用IDE随机自动地生成头文件保护宏,其更加快捷、简单、安全、有效。
标签得分
暂无数据
获得勋章
暂无数据
声望记录
暂无数据