摘要:
为一个信息流产品作数据抓取,其中数据清洗时必不可少的。其中有一个步骤就是清洗掉其中与内容无关的广告。文本通过语料库积累和NLP相关技术进行过滤,有些文字广告不过滤对产品影响也不大。有点儿麻烦的是其中的有些图片广告如果不过滤掉,在感官上会对产品造成很大的印象,为了解决这个问题,用了一些杂七杂八的方法, 阅读全文
摘要:
第一部分:打好基础 + "第一章:欢迎进入软件构建的世界" + "第二章:用隐喻来更充分地理解软件开发" + "第三章:三思而后行:前期准备" + "第四章:关键的“构建”决策" 第二部分:创建高质量的代码 + "第五章:软件构建中的设计" + "第六章:可以工作的类" + "第七章:高质量的子程序 阅读全文
摘要:
+ 在架构层将系统划分为多个子系统,以便让思绪在某段时间内能专注于系统的一小部分。 + 仔细定义类接口,从而可以忽略类内部的工作机理。 + 保持类接口的抽象性,从而不必记住不必要的细节。 + 避免全局变量,因为它会大大增加总是需要兼顾的代码比例。 + 避免深层次的继承,因为这样会耗费很大精力。 + 阅读全文
摘要:
很多好的编程做法都能减轻你的大脑灰质细胞(指脑力)的负担。 + 将系统“分解”,是为了使之易于理解(“设计的层次”)。 + 进行审查、评审和测试正是为了减少人为失误。如果你从不犯错,就无须复审自己的软件。但要知道,人的智力是有限的,所以应和他人沟通,来提高软件质量。 + 将子程序编写得短小,以减轻大 阅读全文
摘要:
核对表(自说明代码) + 你的类接口体现出某种一致的抽象吗? + 你的类名有意义吗,能表明其中心意图吗? + 你的类接凵对于如何使用该类显而易见吗? + 你的类接囗能抽象到不需考虑其实现过程吗?能把类看成是黑盒吗? 子程序 + 你的每个子程序名都能准确地指示该子程序确切干些什么吗? + 你的各子程序 阅读全文
摘要:
格式化的基本原理指出,好的布局凸现程序的逻辑结构。 对于C++,请仔细组织源文件中内容的次序为: 1. 文件的描述性注释 2. \ include文件行 3. 在多个类里使用的常量定义(如果文件里有多个类) 4. 在多个类里使用的枚举(如果文件里有多个类) 5. 宏函数定义 6. 在多个类里使用的类 阅读全文
摘要:
你至少能在以下领域找到高质量的程序库 + 容器类 + 信用卡交易服务(电子商务服务) + 跨平台的开发工具,你可以让编写的代码在Windows、AppleMacintosh、XWindowSystem上都能运行一一一只需为各个环境重新编译一次源代码 + 数据压缩工具 + 数据结构与算法 + 数据库操 阅读全文
摘要:
术语“集成”指的是一种软件开发行为:将一些独立的软件组件组合为一个完整系统。 核对表(集成) 集成策略 + 该策略是否指明了集成子系统、类、子程序时应该采用的最优顺序? + 集成的顺序是否与构建顺序协调,以便在适当的时候准备好供集成的类? + 该策略是否易于诊断缺陷? + 该策略是否使脚手架最少? 阅读全文
摘要:
核对表(配置管理) 概要 + 你的软件配S管理计划是否用于帮助程序员,并能将额外负担降至最低? + 你的软件配S管理方法是否避免了对项目的过度控制? + 你是否将一些变更请求聚成一组?无论采用非正式的方法(如创建一份未决更改的列表)还是更加系统的方法(如设立变更控制委员会)。 + 你系统地评估了每一 阅读全文
摘要:
随着项目规模的增加,下面这些活动的工作量增长超过线性: + 交流 + 计划 + 管理 + 需求分析 + 系统功能设计 + 接口设计和规格说明 + 架构 + 集成 + 消除缺陷 + 系统测试 + 文档生成 在社交场合,活动越正式,你所穿的服装就会越不舒服(高跟鞋、领带等等)。在软件幵发领域里,项目越正 阅读全文