High 一 下! 酷 壳 CoolShell.cn 享 受 编 程 和 技 术 所 带 来 的 快 乐 http://coolshell.cn 首 页 推 荐 文 章 本 站 插 件 留 言 小 本 关 于 酷 壳 关 于 陈 皓 请 输 入 关 键 字... 首 页 > 技 术 读 物, 流 程 方 法 > 有 效 编 程 的 14 件 事 有 效 编 程 的 14 件 事 2009 年 4 月 15 日 陈 皓 发 表 评 论 阅 读 评 论 3,893 人 阅 读 下 面 是 14 件 如 何 有 效 编 程 的 方 法 : 1. 计 划 (Plan) 所 谓 Plan, 其 实 就 是 对 应 于 编 程 中 的 设 计 阶 段, 当 然, 这 里 的 Plan 并 不 像 设 计 那 样 重 量 级 它 考 虑 一 下 下 面 的 问 题 : 你 这 个 程 序, 工 具 或 是 项 目 的 目 的, 究 竟 是 用 来 干 什 么 的 你 只 有 知 道 做 什 么, 要 达 到 什 好 需 要 有 什 么 样 的 功 能 需 要 你 给 出 来 个 功 能 列 表 这 样 可 以 保 证 我 们 不 会 遗 露 了 什 么 准 备 好 一 些 技 术 难 题 的 前 期 调 查 和 解 决 方 案 不 要 等 到 开 始 编 程 的 时 候 才 去 想
下 面 这 你 因 为 有 Plan 而 得 到 的 好 处 : 2. 使 用 伪 代 码 你 能 够 清 楚 地 明 白 你 要 做 的 东 西 长 什 么 样? 你 能 清 楚 知 道 你 要 开 发 的 东 西 要 干 些 什 么 事? 你 能 够 在 开 发 过 程 中 解 决 你 所 有 可 能 发 生 的 难 题 伪 代 码 是 一 个 非 常 不 错 的 方 式, 让 你 可 以 看 到 你 要 写 的 程 序 长 什 么 样? 根 据 维 基 百 科 (Wikipedi 伪 代 码 是 一 个 紧 凑 和 非 正 式 的 从 高 层 描 述 一 个 计 算 机 编 程 算 法 的 结 构 约 定 其 主 要 是 为 了 行 典 型 的 伪 代 码 一 般 会 忽 略 那 些 算 法 中 不 需 要 人 去 关 心 的 细 节 比 如 : 变 量 声 明, 系 统 中, 编 程 语 言 被 自 然 的 人 类 语 言 所 增 强 而 放 大, 从 而, 更 方 便, 更 紧 凑 一 些 人 并 不 喜 欢 伪 代 码, 因 为 他 们 并 不 相 把 同 样 的 代 码 写 两 遍, 一 遍 是 伪 代 码, 一 遍 是 真 代 码 copy 的 东 西 是 比 较 不 好 维 护 的 但 是 我 想, 这 是 可 以 权 衡 的, 如 果 的 算 法 很 简 单, 那 么 就 不 需 要 杂, 比 较 绕, 那 么, 有 一 个 伪 代 码 提 纲 挈 领 将 会 是 一 件 非 常 不 错 的 事 情, 因 为 他 有 利 于 让 别 人 从 算 法 或 系 统 这 就 好 像 一 个 电 线 的 布 线 图 一 样, 你 可 以 很 容 易 地 通 过 一 个 简 单 的 文 档 从 复 杂 的 实 3. 书 写 清 楚 的 注 释 请 在 你 的 代 码 中 书 写 清 楚 的 程 序 注 释 当 然, 注 释 不 是 越 多 越 好, 注 释 应 该 是 简 明 扼 要 的, 如 果 释 就 会 显 的 多 余 另 外, 注 释 应 该 是 注 释 原 因, 理 由, 目 的, 而 不 是 注 释 是 什 么, 在 酷 壳 事 中, 有 一 条 就 是 关 于 坏 的 注 释 是 多 么 的 另 个 讨 厌 4. 使 用 自 动 的 编 辑 工 具 自 动 的 编 辑 工 具 有 很 多, 比 如 Typinator, 这 是 一 个 可 以 通 过 设 定 一 些 替 代 的 简 单 代 码 来 实 现 重 复 名 常 用 的 语 句 等 等, 通 过 它 可 以 设 定 替 代 的 简 短 代 码 还 有 其 它 一 些 代 码 自 动 完 成 的 工 具, 比 Insight 这 样 的 东 西 别 小 看 这 一 点 点 时 间, 如 果 你 每 天 都 在 写 代 码 的 话, 今 天 一 点 点, 明 天 一 点 5. 减 少 代 码 减 少 代 码 的 数 量, 坚 持 DRY(Don t Repeat Yourself) 和 KISS(Keep It Simple & Stupid) 原 则 这 样
程 序 的 易 读 性 和 可 维 护 性, 同 时 也 能 增 加 代 码 的 质 量 6. 代 码 重 用 DRY (don t repeat yourself) 原 则 就 是 告 诉 我 们 需 要 重 用 现 有 的 代 码 这 样, 你 才 能 够 站 在 巨 人 的 己 所 要 处 理 业 务 的 逻 辑 编 程 的 最 高 境 界 就 是 写 出 来 的 代 码 是 可 能 被 重 用 的, 重 用 和 泛 型 这 是 编 7. 代 码 重 构 一 些 老 的 代 码 可 能 已 经 不 合 时 宜 了, 比 较 以 前 老 的 C++ 的 STL 库 在 多 线 程 下 可 能 会 出 现 很 多 问 题 的, 每 过 一 段 时 间, 我 们 需 要 把 这 些 代 码 回 收 再 利 用, 这 就 是 软 件 的 重 构 重 构 代 码 所 追 求 的 并 的 代 码 更 有 生 命 力, 让 老 的 代 码 跟 上 时 代, 更 具 扩 展 性, 灵 活 性 8. 使 用 设 计 模 式 设 计 模 式 是 一 种 从 代 码 级 解 决 某 一 些 问 题 的 方 法 论 这 个 世 界 上 有 很 多 很 多 的 设 计 模 式, 比 如 M 等 等 使 用 好 的 设 计 模 式 可 以 让 你 的 代 码 更 具 重 用 和 扩 展 性 关 于 设 计 模 式, 请 参 看 本 站 的 另 一 9. 使 用 程 序 框 架 Framework Frameworks 是 一 份 给 程 序 员 的 礼 物, 他 们 帮 助 你 完 成 了 很 多 很 细 节 的 事 情, 他 们 有 可 能 是 一 个 几 乎 完 成 了 的 软 件 框 架 就 已 形 成 这 是 一 个 能 够 给 开 发 工 作 提 速 的 东 西 只 要 上 网 随 便 搜 一 搜, 形 色 色, 几 乎 都 是 开 源 社 区 贡 献 的 10. 泛 型 编 程 如 果 抽 像 出 一 些 程 序 中 相 似 的 东 西, 然 后 把 这 些 相 似 的 东 西 用 一 个 标 准 的 东 西 实 现, 这 也 是 编 程 C++ 中 的 STL 之 类 的 东 西 就 是 此 类 东 西 的 最 佳 体 现 灵 活 之 及, 几 乎 都 快 放 之 四 海 皆 准 了 11. 使 用 开 源 的 代 码 这 个 世 界 上 有 太 多 太 多 开 源 的 代 码 了 学 会 利 用 他 们 可 以 让 你 更 节 省 时 间 和 精 力, 因 为 我 们 完 全 次, 学 会 使 用 开 源 的 代 码 不 但 是 一 个 学 习 的 过 程, 同 样 也 是 一 个 增 加 编 程 效 率 的 事 情
12. 完 善 开 发 环 境 开 发 环 境 非 常 重 要, 因 为 好 的 开 发 环 境 可 以 让 你 事 倍 功 半 他 们 可 以 让 你 不 需 要 关 注 别 的 东 西, 辑 器 的 字 体 和 高 亮 上 花 费 了 不 少 工 夫 是 的, 这 是 值 得 肯 定 了, 只 有 把 开 发 环 境 变 得 舒 服, 才 能 13. 使 用 调 试 器 学 会 使 用 调 试 器 来 调 试 代 码, 单 步 跟 踪, 变 量 值 跟 踪, 内 存, 堆 栈 等 等 熟 练 地 使 用 调 试 器 可 以 到 最 优 的 代 码 14. 使 用 版 本 管 理 工 具 版 本 管 理 工 具 应 该 是 任 何 程 序 员 都 应 该 要 去 学 会 使 用 的 东 西, 特 别 在 一 个 团 队 中, 如 何 管 理 程 序 码, 版 本 管 理 工 具 绝 对 是 开 发 过 程 中 不 可 少 的 东 西 其 意 义 绝 对 不 只 代 码 备 份 和 共 享 那 么 简 单 具 :Git,SVN,CVS 和 Bazaar 欢 迎 关 注 CoolShell 微 信 公 众 账 号 ( 转 载 本 站 文 章 请 注 明 作 者 和 出 处 酷 壳 CoolShell.cn, 请 勿 用 于 任 何 商 业 用 途
=== 访 问 酷 壳 404 页 面 寻 找 遗 失 儿 童 === 分 类 : 技 术 读 物, 流 程 方 法 标 签 : Programmer, 程 序 员 (5 人 打 了 分, 平 均 分 : 4.80 ) 相 关 文 章 2011 年 01 月 28 日 那 些 炒 作 过 度 的 技 术 和 概 念 2010 年 05 月 14 日 十 条 不 错 的 编 程 观 点 2009 年 03 月 22 日 优 秀 程 序 员 的 十 个 习 惯 2009 年 04 月 11 日 程 序 员 需 要 具 备 的 基 本 技 能 2011 年 10 月 25 日 多 些 时 间 能 少 写 些 代 码 2010 年 09 月 25 日 代 码 重 构 的 一 个 示 例 2011 年 03 月 24 日 Fix Bug 的 五 个 阶 段 2012 年 08 月 22 日 为 什 么 我 反 对 纯 算 法 面 试 题 评 论 (3) Trackbacks (0) 发 表 评 论 Trackback 1 1. hh2hh 2009 年 4 月 16 日 02:21 #1 回 复 引 用 什 么 都 提 到 了 等 于 什 么 都 没 说 2. woodboy 2009 年 12 月 25 日 14:34 #2 回 复 引 用 C++ 的 泛 型?? 你 不 是 说 c++ 的 泛 型 会 让 人 混 乱 么??
3. maxint 2010 年 4 月 10 日 19:44 #3 回 复 引 用 woodboy : C++ 的 泛 型?? 你 不 是 说 c++ 的 泛 型 会 让 人 混 乱 么?? 还 是 保 持 中 庸 比 较 好, 该 用 就 用, 比 较 一 些 思 路 清 楚 的 模 块 1. 本 文 目 前 尚 无 任 何 trackbacks 和 pingbacks. 昵 称 ( 必 填 ) 电 子 邮 箱 ( 我 们 会 为 您 保 密 ) ( 必 填 ) 网 址 订 阅 评 论 提 交 评 论 C 语 言 下 的 错 误 处 理 的 问 题 一 个 显 示 排 序 过 程 的 Python 脚 本 订 阅
Twitter 本 站 公 告 访 问 酷 壳 404 页 面 寻 找 遗 失 儿 童! 酷 壳 建 议 大 家 多 使 用 RSS 访 问 阅 读 ( 本 站 已 经 是 全 文 输 出, 推 荐 使 用 cloud.feedly.com 或 digg.com) haoel(at)hotmail.com 最 后, 感 谢 大 家 对 酷 壳 的 支 持 和 体 谅! 最 新 文 章 让 我 们 来 谈 谈 分 工 Cuckoo Filter: 设 计 与 实 现 Docker 基 础 技 术 :DeviceMapper
Docker 基 础 技 术 :AUFS Docker 基 础 技 术 :Linux CGroup Docker 基 础 技 术 :Linux Namespace( 上 ) Docker 基 础 技 术 :Linux Namespace( 下 ) 关 于 移 动 端 的 钓 鱼 式 攻 击 Linus: 为 何 对 象 引 用 计 数 必 须 是 原 子 的 DHH 谈 混 合 移 动 应 用 开 发 HTML6 展 望 Google Inbox 如 何 跨 平 台 重 用 代 码? vfork 挂 掉 的 一 个 问 题 Leetcode 编 程 训 练 State Threads 回 调 终 结 者 bash 代 码 注 入 的 安 全 漏 洞 互 联 网 之 子 Aaron Swartz 谜 题 的 答 案 和 活 动 的 心 得 体 会 活 动 解 迷 题 送 礼 物 开 发 团 队 的 效 率 TCP 的 那 些 事 儿 ( 下 ) TCP 的 那 些 事 儿 ( 上 ) 我 只 是 认 真 聊 聊 工 匠 情 怀 面 向 GC 的 Java 编 程 C 语 言 的 整 型 溢 出 问 题 从 LongAdder 看 更 高 效 的 无 锁 实 现 从 Code Review 谈 如 何 做 技 术 C 语 言 结 构 体 里 的 成 员 数 组 和 指 针 无 插 件 Vim 编 程 技 巧 Python 修 饰 器 的 函 数 式 编 程 全 站 热 门 程 序 员 技 术 练 级 攻 略 简 明 Vim 练 级 攻 略 做 个 环 保 主 义 的 程 序 员 如 何 学 好 C 语 言 AWK 简 明 教 程
应 该 知 道 的 Linux 技 巧 21 天 教 你 学 会 C++ 6 个 变 态 的 C 语 言 Hello World 程 序 由 12306.cn 谈 谈 网 站 性 能 技 术 TCP 的 那 些 事 儿 ( 上 ) 作 环 保 的 程 序 员, 从 不 用 百 度 开 始 编 程 能 力 与 编 程 年 龄 28 个 Unix/Linux 的 命 令 行 神 器 我 是 怎 么 招 聘 程 序 员 的 sed 简 明 教 程 Web 开 发 中 需 要 了 解 的 东 西 性 能 调 优 攻 略 Android 将 允 许 纯 C/C++ 开 发 应 用 C++ 程 序 员 自 信 心 曲 线 图 如 何 学 好 C++ 语 言 如 何 写 出 无 法 维 护 的 代 码 20 本 最 好 的 Linux 免 费 书 籍 MySQL 性 能 优 化 的 最 佳 20+ 条 经 验 Lua 简 明 教 程 编 程 真 难 啊 Windows 编 程 革 命 简 史 无 插 件 Vim 编 程 技 巧 深 入 理 解 C 语 言 加 班 与 效 率 SteveY 对 Amazon 和 Google 平 台 的 吐 槽 新 浪 微 博 微 博 左 耳 朵 耗 子 北 京 朝 阳 区 加 关 注
标 签 agile AJAX Algorithm Android Bash C++ Coding CSS Database Design design pattern ebook Flash Game Go G Javascript jquery Linux MySQL OOP password Performance PHP Programmer Programming prog SQL TDD UI Unix vim Web Windows XML 安 全 程 序 员 算 法 面 试 分 类 目 录.NET 编 程 (3) Ajax 开 发 (9) C/C++ 语 言 (71) Erlang (1) Java 语 言 (32) PHP 脚 本 (11) Python (23) Ruby (5) Unix/Linux (74) Web 开 发 (103) Windows (12) 业 界 新 闻 (26) 企 业 应 用 (2) 技 术 新 闻 (33) 技 术 管 理 (13) 技 术 读 物 (117) 操 作 系 统 (49) 数 据 库 (11) 杂 项 资 源 (267) 流 程 方 法 (46) 程 序 设 计 (84) 系 统 架 构 (8) 编 程 工 具 (65) 编 程 语 言 (174)
归 档 网 络 安 全 (27) 职 场 生 涯 (33) 趣 味 问 题 (19) 轶 事 趣 闻 (147) 2015 年 十 二 月 (1) 2015 年 九 月 (1) 2015 年 八 月 (2) 2015 年 四 月 (4) 2014 年 十 二 月 (3) 2014 年 十 一 月 (2) 2014 年 十 月 (2) 2014 年 九 月 (2) 2014 年 八 月 (2) 2014 年 六 月 (1) 2014 年 五 月 (4) 2014 年 四 月 (4) 2014 年 三 月 (5) 2014 年 二 月 (3) 2014 年 一 月 (2) 2013 年 十 二 月 (3) 2013 年 十 一 月 (1) 2013 年 十 月 (6) 2013 年 八 月 (1) 2013 年 七 月 (8) 2013 年 六 月 (2) 2013 年 五 月 (3) 2013 年 四 月 (3) 2013 年 三 月 (3) 2013 年 二 月 (5) 2013 年 一 月 (1) 2012 年 十 二 月 (4) 2012 年 十 一 月 (4)
2012 年 十 月 (3) 2012 年 九 月 (4) 2012 年 八 月 (8) 2012 年 七 月 (4) 2012 年 六 月 (7) 2012 年 五 月 (6) 2012 年 四 月 (6) 2012 年 三 月 (6) 2012 年 二 月 (3) 2012 年 一 月 (6) 2011 年 十 二 月 (5) 2011 年 十 一 月 (9) 2011 年 十 月 (6) 2011 年 九 月 (5) 2011 年 八 月 (14) 2011 年 七 月 (6) 2011 年 六 月 (12) 2011 年 五 月 (5) 2011 年 四 月 (18) 2011 年 三 月 (16) 2011 年 二 月 (16) 2011 年 一 月 (18) 2010 年 十 二 月 (11) 2010 年 十 一 月 (11) 2010 年 十 月 (19) 2010 年 九 月 (15) 2010 年 八 月 (10) 2010 年 七 月 (20) 2010 年 六 月 (9) 2010 年 五 月 (13) 2010 年 四 月 (12) 2010 年 三 月 (11) 2010 年 二 月 (7) 2010 年 一 月 (9) 2009 年 十 二 月 (22)
2009 年 十 一 月 (27) 2009 年 十 月 (17) 2009 年 九 月 (14) 2009 年 八 月 (21) 2009 年 七 月 (18) 2009 年 六 月 (19) 2009 年 五 月 (27) 2009 年 四 月 (53) 2009 年 三 月 (43) 2008 年 十 月 (1) 2007 年 十 二 月 (1) 2006 年 十 一 月 (1) 2004 年 六 月 (1) 最 新 评 论 zbsty: @mayreach 好 吧, 我 也 30 开 始 学, xdarg: 最 近 刚 好 碰 到 过 一 个 简 单 的 溢 出, 以 后 用 之 前 就 应 该 想 一 下 这 个 问 题 xxx: @jo 看 来 你 不 懂 技 术 啊 shunza: 皓 哥, 最 近 文 章 不 更 新 了 么? 我 现 在 刚 步 入 职 场, 做 Linux 运 维, 希 望 能 在 皓 哥 的 站 点 中 可 以 通 过 email 或 者 我 的 博 客 网 址 留 言 给 我 xum: 只 有 开 发 管 理 和 基 础 设 施 达 到 一 定 程 度 了, 工 程 师 才 能 继 续 聚 焦 于 自 己 的 工 作, 才 能 做 到 天 涯 剑 客 : 共 产 主 义 社 会 和 社 会 主 义 社 会 tourist: @mason 这 个 地 方 很 容 易 被 误 解 慢 启 动 算 法 就 是 收 到 一 个 Good ACK 之 后 将 cwnd 加 1 这 的 情 况, 经 过 一 个 RTT 之 后 cwnd 增 加 一 倍 所 以 说 慢 启 动... snake_dev: 依 3 年 半 后 的 眼 光 来 看 这 篇 文 章 1. 企 鹅 的 技 术 力 量 其 实 不 差 2. 单 纯 从 互 联 网 来 说, 如 很 难 反 抗 的 事 情 ( 你 拿 什 么 和 人 家 玩? 技 术? 创 意? 模 式?BAT 分 分 钟 碾 压 你 )... levy: 这 次 我 是 在 safari 评 论 的, 上 次 是 在 chrome 里 levy: 试 试 评 论 功 能, 最 近 想 用 nodejs 写 一 个 自 己 的 博 客, 以 作 学 习 之 用 Persi: 24 岁 才 开 始 做 编 程 的 工 作 zoeeer: 大 概 两 年 前 看 这 篇 文 章 的 时 候, 只 觉 得 似 乎 有 趣 又 有 用, 就 读 了 下 来, 有 个 印 象 后 来 翻 出 这 篇 文 章 来 参 考 和 回 忆 如 今 更 是 日 日 与 文 本 打 交 道, 不 断 学 到 awk... Aceslup: 真 的 很 详 细, 尤 其 看 图 理 解 很 深 刻 有 一 点 想 获 得 明 确 的 回 答, 就 是 输 出 的 内 容 是 哪 个 吧 jacky: 这 个 没 有 把 好 处 全 占 尽, 不 要 坏 处 的 雅 虎 只 是 去 年 觉 得 这 样 挺 成 功 这 玩 意 能 持 久, 还
同, 大 部 分 企 业 是 没 有 各 个 是 精 英 的 员 工 的 28 法 则, 大 部 分 企 业 是 这 样 的 stone2083: 取 消 QA, 让 程 序 员 承 担 QA 的 职 责, 本 身 是 一 件 好 事. 但 是 目 前 多 数 公 司, 开 发 者 能 力 达 有 很 长 一 段 时 间 的 过 渡 期. 友 情 链 接 功 能 陈 皓 的 博 客 并 发 编 程 四 火 的 唠 叨 HelloGcc Working Group 吕 毅 的 Blog Todd Wei 的 Blog C++ 爱 好 者 博 客 HTML5 研 究 小 组 朱 文 昊 Albert Zhu C 瓜 哥 的 博 客 开 源 吧 ACMer 陈 鹏 个 人 博 客 OneCoder More Than Vimer 运 维 派 书 巢 注 册 登 录 文 章 RSS 评 论 RSS WordPress.org 回 到 顶 部 WordPress 版 权 所 有 2004 2016 酷 壳 CoolShell.cn
主 题 由 NeoEase 提 供, 通 过 XHTML 1.1 和 CSS 3 验 证.
Click below to find more Mipaper at www.lcis.com.tw Mipaper at www.lcis.com.tw