分类: 编程技术
干嘛不去掉“I”和“Impl”?

今天早上我仔细研究TopShelf项目的源代码,想追查里面一个API的修改,突然发现TopShelf终于向新近流行的去掉接口名称上的“I”字母做法屈服了。在.NET上这还是个新事物,使用Java的人这样做了有一段时间了,但在.NET里很多都还是新事物。这些可不是从ruby偷来的。

小故事:架构师需要做什么?

本文是一篇模仿问答的小故事,作者用幽默的风格简单分析了架构师要做的工作: 我想要成为一名软件架构师。

软件开发有多贵?

一个定制软件的开发,大概开发一个月需要的费用,大约是2万元,平均每人每天1000元。代码量是按照《软件估计》(一本书,书名Software Estimation)中经验进行估算,以及项目交付过程中会伴随着软件复杂度的变化,每个程序员每天大约可以写2——200行。如果这是100行代码日均产量的成本,那么每行代码的价值就是10元。

在 Java 8 中避免 Null 检查

如何预防 Java 中著名的 NullPointerException 异常?这是每个 Java 初学者迟早会问到的关键问题之一。而且中级和高级程序员也在时时刻刻规避这个错误。其是迄今为止 Java 以及很多其他编程语言中最流行的一种错误。

面向对象编程该死

面向对象编程应该完全的从基础课程中删除掉,因为它既是反模块化,又是反并行的,这是它的非常固有的特征,所以它不适合作为一种现代的计算机科学课程。

没事儿别优化,小心聪明反被聪明误

事实上你应该优化,但要在正确的地方,有足够的理由。我待会儿再聊这个。

阮一峰:Flux 架构入门教程

React 本身只涉及UI层,如果搭建大型应用,必须搭配一个前端框架。也就是说,你至少要学两样东西,才能基本满足需要:React + 前端框架。

“测试是浪费时间,我的程序肯定没问题”

写一个测试程序,重现这个bug。即使你没有时间来立即修正这个bug或者这不是个致命的bug,你也应该有个能够让它重现的测试程序,当日后你回来解决这个问题时,你就能知道该做什么了。

Git 提交的正确姿势:Commit message 编写指南

Git 每次提交代码,都要写 Commit message(提交说明),否则就不允许提交。

改良程序的11技巧

有很多理由都能说明为什么我们应该写出清晰、可读性好的程序。最重要的一点,程序你只写一次,但以后会无数次的阅读。当你第二天回头来看你的代码时,你就要开始阅读它了。

面试中的Singleton

“请写一个Singleton。”面试官微笑着和我说。
、“这可真简单。”我心里想着,并在白板上写下了下面的Singleton实现:

Stack Overflow 告诉你,2015 年程序猿们最爱和最怕的编程语言是什么

开发者调查是 Stack Overflow 每年都要进行的一次开发者用户调查问卷活动,调查对象为在 Stack Overflow 注册的开发者用户。和以往相比,2015 年的调查涵盖面更广,参与人数最多,调查结果包括 157 个国家的 26086 名开发者。在这些人中,有 6800 人是经过认证的全栈工程师,另外还有移动开发者 1900 人,前端开发者 1200 人。

一小时学会 C# 6 的新特性

C# 6 已经出来有一段时间了,今天我们就详细地看一下这些新的特性。

编写高性能的 Swift 代码

下面这篇文档收集了一系列编写高性能 Swift 代码的要诀和技巧。文档的目标读者是编译器和标准库开发人员。

在SQL Server中为什么不建议使用Not In子查询

在SQL Server中,子查询可以分为相关子查询和无关子查询,对于无关子查询来说,Not In子句比较常见,但Not In潜在会带来下面两种问题

王垠:编程的智慧

编程是一种创造性的工作,是一门艺术。精通任何一门艺术,都需要很多的练习和领悟,所以这里提出的“智慧”,并不是号称一天瘦十斤的减肥药,它并不能代替你自己的勤奋。

阮一峰:常用 Git 命令清单

我每天使用 Git ,但是很多命令记不住。
一般来说,日常使用只要记住下图6个命令,就可以了。但是熟练使用,恐怕要记住60~100个命令。

视频编码原理简介

要彻底理解视频编码原理,看书都是虚的,需要实际动手,实现一个简单的视频编码器:

15个实用的PHP正则表达式

对于开发人员来说,正则表达式是一个非常有用的功能,它提供了 查找,匹配,替换 句子,单词,或者其他格式的字符串。这篇文章主要介绍了15个超实用的php正则表达式,需要的朋友可以参考下。

C#程序开发中经常遇到的10条实用的代码

C#程序开发中经常遇到的10条实用的代码

程序员应该避免的5种代码注释

你有没有这样的经历:别人审查过你的代码之后给出的注释,你认为是没有必要的?注释代码是为了提高代码的可读性,目的是为了能让其他人更容易理解你的代码。

为什么我要垂直对齐代码(你也要如此!)

上周在 HackerNews,关于 Linux Kernel 代码风格展开了有趣的讨论。
在讨论中,我就应不应该垂直对齐代码发起了一场小小的圣战。我完全支持!让我细说端详。

Linux运维比较实用的工具

Nethogs 是一个终端下的网络流量监控工具可以直观的显示每个进程占用的带宽。

程序员偷偷深爱的9个不良编程习惯

我们曾经都做过这样的事情:当妈妈不注意的时候,偷偷地吃糖果零食,然后导致有了蛀牙。同样的,我们都违背过一些编程的基本规则,并且都会坚定地表示这种行为是不可取的。但我们就是偷偷爱着这些不良的编程习惯。

程序猿必须知道的编程语言发展史——信息图

我们都知道,编程语言是一组用来定义计算机程序的语法规则。它是一种被标准化的交流语言,用来向计算机发出指令。
