我安身立命的编程指导

这些年来我收集了一些编程指导原则,当编程时,这些原则就会出现在我脑子里。有一些是我总结的,有一些是我从@jonwagnerdotcom 和 @jbright 那里偷来的,书本里也给了我一些,另外一些我完全忘记了出处。希望这些指导原则在你编程时也会给你带来帮助。

  1. 思考

    凡事动手前先用脑思考。不要盲目遵循各种模式。所做的事要有意义。相信自己的脑袋。

  2. 不同事情不同编程方法,相同的事情相同的代码。

    不要在完全不同的事情上强制沿用DRY(不要自我重复)编程原则,但相同的模式中一定要用同一段代码。

  3. 期望更好会成为你完成任务的敌人

    尽量写最好的程序,但不要担心发布它。程序是拿来使用的。你不发布它,没有人会用它。

  4. 没写的代码是绝对没有bug的

    尽量避免写代码,除非必须。没有人能做到完美。你的代码将会带来不可预期的后果。事前掂量一下,看看问题是否真的需要用代码来解决。

  5. 不要自我重复(DRY).

    让代码整洁和独立,让它们可以复用。相同的代码不要写第二遍(或拷贝/粘贴)。任何时候你拷贝/粘贴一段代码时都要有充分的理由。

  6. 不要担心删代码,你有版本控制系统

    (它在版本控制系统里,不是吗?即使用一个很烂的版本控制系统,那也比不用强)。未被删除的代码只会堵塞代码库。删除那些不需要的代码,让版本控制系统帮您留住历史。太多次我看到老代码到处都是,只是因为没有人确信这些代码是否真的不需要了。

  7. 代码只是一些字节码

    不要害怕重构。代码的原材料是很廉价的。

  8. 为你的作品骄傲。不要马马虎虎。

    编程是一种技艺。写代码要用心,要为它们自豪。

  9. 有Bug是正常的

    没有人能设定将来。Bug免不了要出现,这没什么。出现时消灭它们。

  10. 要有乐趣

    并不是每个任务都会很有趣,但努力在你的工作中找到乐趣。这会让你保持工作精神,创造出更好的产品。

 原文发布时间为:2013-07-12

时间: 2024-09-20 21:27:16

我安身立命的编程指导的相关文章

CUDA C 编程指导(一):CUDA介绍

虽然高清实时的3D图像/视频要求日益不能满足市场需求,但是可编程的图像处理单元(GPU)已经演变成具有巨大计算能力和超高存储带宽的高度并行.多线程的多核处理器,如下图, CPU和GPU之间的浮点性能差异的原因是:GPU专门为密集型计算.高度并行计算设计(例如,图像渲染),因此此类设计需要更多的晶体三极管来进行数据处理而不是数据缓存和流程控制,其区别如下图所示, 更具体地说,GPU更适合处理数据并行计算,很多数据并行执行,计算强度高,即对内存操作的算术操作比率高.因为相同的程序用来执行每个数据元素

怎么做求帮助-关于Lunix的编程指导写c源程序

问题描述 关于Lunix的编程指导写c源程序 用Linux编写一个通讯录的c程序 实现的功能:1.能添加号码和姓名2.可在头部.中部.尾部插入3.可删除 解决方案 最简单的是用ubuntu这个linux发行版,安装好 Code::Blocks (直接用Ubuntu带的软件管理器点点鼠标就装好了) 之后写程序和windows没有区别. 你的需求用链表就可以实现,参考:http://wenku.baidu.com/link?url=9C40AoCTrSNIfGCVB3nwTdJY8L-BN85wPs

ZooKeeper编程指导

原文链接  译者:zivyu 简介 对于想要利用ZooKeeper的协调服务来创建一个分布式应用的开发人员来说,这篇文章提供了指导.包含了一些概念和实际性操作的信息. 这篇文章的前四个章节介绍了各种ZooKeeper的概念,这对理解ZooKeeper是怎么工作的是必须的.没有包含源代码,但是它假设你对分布式处理有关的问题比较熟悉.这四个章节是: ZooKeeper数据模型 ZooKeeper 会话 ZooKeeper Watches 一致性保证 随后的四个章节提供了实际的编程信息,他们是: 构建

CUDA C 编程指导(二):CUDA编程模型详解

CUDA编程模型详解 本文以vectorAdd为例,通过描述C在CUDA中的使用(vectorAdd这个例子可以在CUDA sample中找到.)来介绍CUDA编程模型的主要概念.CUDA C的进一步描述可以参考<Programming Interface>. 主要内容包括: 1.Kernels(核函数) 2.Thread Hierarchy(线程结构) 3.Memory Hierarchy(存储结构) 4.Heterogeneous Programming(异构编程) 5.Compute C

Apple Pay编程指导

1.About Apple Pay Apple Pay是一种移动支付技术,让使用者把它们对真实的物品和服务的支付信息以一种方便和安全的方式给你. 对于在app中给出的数字物品和服务,可查看In-App Purchase Programming Guide. Working with Apple Pay 使用Apple Pay功能的Apps需要在Xcode 中开启Apple Pay capabilities.也需要注册一个商家标识并设置密钥(用来加密发送支付数据给服务器). 初始化支付时,app创

async And await异步编程活用基础

原文:async And await异步编程活用基础 好久没写博客了,时隔5个月,奉上一篇精心准备的文章,希望大家能有所收获,对async 和 await 的理解有更深一层的理解. async 和 await 有你不知道的秘密,微软会告诉你吗? 我用我自己的例子,去一步步诠释这个技术,看下去,你绝对会有收获.(渐进描述方式,愿适应所有层次的程序员) 从零开始, 控制台 Hello World: 什么?开玩笑吧?拿异步做Hello World?? 下面这个例子,输出什么?猜猜? 1 static

《UNIX网络编程 卷1:套接字联网API(第3版)》——导读

**前言**本书面向的读者是那些希望自己编写的程序能使用称为套接字(socket)的API进行彼此通信的人.有些读者可能已经非常熟悉套接字了,因为这个模型几乎已经成了网络编程的同义词,但有些读者可能仍需要从头开始学习.本书想达到的目标是向大家提供网络编程指导.这些内容不仅适用于专业人士,也适用于初学者:不仅适用于维护已有代码,也适用于开发新的网络应用程序:此外,还适用于那些只是想了解一下自己系统中网络组件的工作原理的人. 书中的所有示例都是在Unix系统上测试通过的真实的.可运行的代码.但是,考

《C++多线程编程实战》导读

前言 C++多线程编程实战多线程编程正逐渐成为IT行业和开发人员关注的焦点.开发商希望开发出用户友好.界面丰富,而且能并发执行的应用程序.强大的C++语言和本地Win32 API特性为多线程编程提供了良好开端.有了强大的C++,可以轻松地创建不同类型的应用程序,执行并行,而且还能优化现有的工作. 本书是一本实践为主.通俗易懂的Windows多线程编程指导.你将学到如何从多线程方案中受益,增强你的开发能力,构建更好的应用程序.本书不仅讲解了创建并行代码时遇到的问题,而且还帮助读者详细理解同步技术.

让孩子产生编程兴趣的Bitsbox为什么是款“神器”

摘要: 编程不分男女老幼. Google去年6月投资的Made With Code是个培养潜在程序媛的福地.对儿童来说,接触编程不存在时间早晚,Bitsbox算是个神器. 通过Bitsbox,儿童可以轻松编写出在手机和平 编程不分男女老幼. Google去年6月投资的Made With Code是个培养潜在"程序媛"的福地.对儿童来说,接触编程不存在时间早晚,Bitsbox算是个"神器". 通过Bitsbox,儿童可以轻松编写出在手机和平板上运行的应用,它的学习系统