黑客与画家

编程是一种艺术创作

千万要避免的五种程序注释方式

你是否有过复查程序时发现有些注释毫无用处?程序注释是为了提高代码的可读性,为了让原作者以外的其他开发人员更容易理解这段程序。 我把这些让人郁闷的注释方式归为了五类,同时把写出这些注释的程序员也归为了五类。你感觉自己属于其中的哪一种类型?如果你有兴趣的话可以读一下另外一篇文章 五种程序员(英文),和这篇讲到的五种程序员对比一下。  

推荐给开发人员的实用命令行工具

作为一名Web开发者,当程序出现问题时日子总不是那么好过。问题可能无处不在,可能是你发送的请求出了错,可能是回复出了错,可能是你使用的某个第三方库出了问题,又或者是一个外部API调用失败了。优秀的工具对于定位问题出在何处有着无可估量的价值,而且能在一开始就帮助我们阻止问题的出现,总的来说能使我们的工作更有效率。命令行工具尤其有用,因为它们非常易于做自动化和脚本处理,能够以各种不同的方式进行组合和重用。本文介绍了6个非常强大且灵活的工具,熟练使用这些工具能使你的生活变得更轻松一些。

如何评价『黑客与画家』

一本好的书,让我们收获的不单单是某种技巧,或者某种方法论, 他教给我们的是一种严密的思维方式,是一种学会把自己的眼光放得更加长远的决策习惯,他促使我们养成独立思考的习惯。 他没有送给我们一条大鱼,却把捕捉大鱼的方法交给了我们, 授人以鱼,不如授人以渔。 我一直觉得把一个我们所熟知的很普通的问题讲的非常透彻而且非常清楚是一种相当了不起的能力, 保罗·格雷尔姆 不仅把问题讲的非常透彻,而且还非常有趣, 让我们在读的时候感觉趣味盎然,这一点是非常不容易的。 很多的互联网从业者想必早就听说过这本书,而且大部分人应该都已经阅读过这本书了, 所以我就简单的从其他的角度来谈一下我读完本书的一些感想,希望对大家有所帮助。

对几个软件开发传统观点的质疑和反驳

下面这些观点都是程序员在教科书上、在编码规范里、在正统的软件工程流程里流传开来的,帮助了许多人在程序员启蒙期间养成了良好的习惯、原则。对许多人(包括曾经的我)来说,似乎是理所当然的。但是随着阅历的增长,视角在变化、看法也在变化,曾经的好恶现在都可能大翻身了。 为代码写足够的注释,让代码易于理解 “所有程序员都会写自己看得懂的代码,但只有优秀的程序员才写大家看得懂的代码。”这话没错,但是—— 什么才是“大家看得懂”的定义?我有必要让我的C++代码对于一个月前才明白指针和引用区别的初学者简单易懂么? 更重要的是,要代码能够“看得懂”,主要是靠足够多的注释吗? 我觉得这两点都是扯淡。

模块化的JavaScript开发的优势在哪里

本文作者:雨夜带刀’s Blog | 原文地址:模块化的JavaScript开发的优势在哪里 如今模块化的 JavaScript 的开发越来越火热,无论是模块加载器还是优秀的 JavaScript 模块,都是层出不穷。既然这么火,肯定是有存在的理由,肯定是解决了某些实际问题。很多没接触过模块化 JavaScript 开发者不禁要问,我真的需要模块化吗,模块化相比于传统的模式有什么优势? JavaScript 本身是没有模块化支持的,很多语言多有,就连 CSS 都有这样的加载方式。

开源书籍《Go Web编程》《Build Web Application with Golang》

ASTA谢对Web开发比较感兴趣,所以最近在写一本开源的书籍《Go Web编程》《Build Web Application with Golang》,书中的内容使用CC BY-SA 3.0 License(创作共用 署名-相同方式共享3.0许可协议)授权,代码遵循BSD 3-Clause License,他愿意通过这本开源书和大家一起分享Go写Web应用的一些东西。

对于设计模式的一点思考

在C#后台,要用工厂方法,估计大家觉得都很正常,但对于前端Web开发呢?却未必能想起来,特别是那些对在后台拼接HTML字符串非常鄙视的人来说,就更不要说了。 人总是很喜欢把很多事情莫名的分出三六九等,或者是陷入别人设定的一种广告定势中去,固然可能获得某种优越感,却不知道已经把自己的思维束缚。

你所不知道的软件开发的详细过程

软件开发过程需要经历的几个主要阶段: (1)定义。明确软件开发的目的、软件的需求。 (2)计划。制订软件开发所涉及的各种计划。 (3)实现。进行设计、编码、文档编写工作,完成所要求的软件特性。 (4)稳定化。以测试和修复工作为主,确保将提交的软件具有良好的质量。 (5)部署。安装、提交开发完成的软件,建立可供用户使用的环境。

约定优于配置——软件开发的简约原则

工作快满1年了。在刚从CUHK毕业的时候,我还满怀悲壮地表示在中文大学饱受摧残,各种 assignments projects 所写的代码已经超过了整个在武大的四年。而现在,wc -l 显示的数字已经可以让我十分蛋定,这一年的代码量已经超过了过去所有学生时代的总和。回过头来看一年前写的代码,真是惨不忍睹,恨不得把当时的自己拉出去暴打一顿。确实走了很多弯路,但我也因此收获颇丰。

编程语言的进化

早上读到了一篇文章《Lisp的永恒之道》,这一篇文章解决了我一直以来对Lisp编程语言的疑惑,加深了对DSL(领域编程语言),同时对编程语言的理解也越来越深入。写一篇文章的目的就是从主要编程语言的进化来看看编程语言发展的过程以及背后的设计哲学,当然,这个只是我自己的认识,如果有不足之处,请博友指教。

« go backkeep looking »