《Unix 编程艺术》:这本书在模块化、文本化、配置、接口、复杂度、优化、可移植性等方面,都提供了Unix/Linux世界所积累的宝贵经验。好的程序可以经受时间、平台与用户的考验,好的编程思想可以经受实践的检验。
读书笔记摘录自 《Unix 编程艺术》
Unix 设计原则
所有的 Unix 哲学浓缩为一条铁律,『KISS』原则:Keep It Simple, Stupid!
继续阅读 »
目录
前言
源文件基础
源文件结构
格式
命名约定
编程实践
Javadoc
后记
前言
这份文档是Google Java编程风格规范的完整定义。当且仅当一个Java源文件符合此文档中的规则,
我们才认为它符合Google的Java编程风格。
与其它的编程风格指南一样,这里所讨论的不仅仅是编码格式美不美观的问题,
同时也讨论一些约定及编码标准。然而,这份文档主要侧重于我们所普遍遵循的规则,
对于那些不是明确强制要求的,我们尽量避免提供意见。
more
1.1 术语说明
在本文档中,除非另有说明:
术语class可表示一个普通类,枚举类,接口或是annotation类型(@interface)
术语comment只用来指代
继续阅读 »
简介
俗话说,“PHP是世界上最好的语言”,因为PHP什么都能干。但是在PHP编程中,你是否会遇到这样的困惑:明明是相同的需求,但是之前写的代码却并不能重用,稍微修改不满足需求,大改又会让页面变样。
是的,由于PHP什么都能干,但是高度灵活性降低了代码的结构性。虽然可以利用三方框架来解决问题,但问题的根本在于缺乏设计模式。
本系列文章将由浅入深的介绍各种设计模式。
面向对象编程
面向对象编程,Object-Oriented Programming(OOP)作为最基本的设计模式并不是什么新鲜的话题,但是大部分新手的PHP编程都是在写流水账,各种拼接字符串,所以这里还是要提一下。
Object-Oriented Pro
继续阅读 »
Table of Contents
{:toc}
最近遇到了一些函数式编程的概念,心想我用 Python 的 map reduce 不就是在函数式编程嘛,
但看了半天仍然一头雾水,什么是 UnitBox?flatMap 和 map 差在哪里?于是先学了阮老师的[函数式编程入门教程][1],
唉哟喂,和我原来想的还不一样,Python 这些操作虽然算是函数式编程,但要系统地理解为什么能这样,
还得从头说起。
继续阅读 »
牛客网编程练习-剑指offer,语言:c++11(clang++ 3.9)。
1.【数组】二维数组中的查找
继续阅读 »
在凌乱的异步编程一文中,我们见识了用回调处理异步调用的尴尬局面,即使是一组简单的函数调用。
快速回顾一下,看看我们最初的代码,使用回调函数时的凌乱结果,以及我们为了回到正途而想要解决的几个问题:
我们再也不能使用简单的“调用 - 返回”(call-and-return)编程模型
我们再也不能使用 try/catch/finally 来处理异常
我们必须为可能执行异步操作的每个函数的签名增加 callback 和 errback 参数
1. Promises
一个 Promise(或者叫 Future, Delayed value, Deferred value)代表一个尚不可用的值,因为产生这个值的计算过程尚未完成。一个 Pr
继续阅读 »
本文是「Java 8 函数式编程」第二章的读书笔记。
Lambda引入的变化
Lambda表达式,是一种紧凑的、传递行为的方式,从编程思想上来讲,就是代码即数据。
过去的Java中,存在大量的匿名内部类的使用,会新建一个匿名内部类传入调用的方法中。这种传统的方式,会造成冗余的、不易阅读的代码。
继续阅读 »
真的很久没写博客了,一直提不起兴趣,总觉得写一些代码如何写,工具如何用,过一阵子就不是很有用了,所以想写一些自己的心得体会,但又很难总结成文章。这几天突然间想通了一些,也许我是时候抛开前端这个枷锁了,今天我们来谈谈敏捷开发的结对编程。
想当年(然而并没有几年)刚来到ThoughtWorks的时候,除了英语,我最不适应的就是pair,即结对编程。因为刚上项目的我只能跟着结对对象的思维走,即使我思路正确了也无非是在我的结对对象写的代码上印证了一下,少有的贡献就是不时的提醒他一下typo之类无关紧要的错误。然后当我拿到键盘时,还是因为信息的不对等,我无法在全局层面上做出贡献,因为我必须非常熟悉整个项目才能说服我的pair,修改一些架构上
继续阅读 »
传统的JavaScript编程很容易出现难以管理的现象,如依赖复杂、方法名冲突等各方面的弊端,SeaJS可以解决这个问题。
more
SeaJS的是支付宝著名前端工程师开发的一个前端模块化开发框架。
继续阅读 »
牛客网编程练习-剑指offer,python实现。
github链接
1.【链表】从尾到头打印链表
输入一个链表,从尾到头打印链表每个节点的值。
继续阅读 »