Zhang's Wikipedia

玩就玩大的

软件开发 —— 过程资产与交付件

1. 编码 团队统一定义标记 TODO 待处理的问题 FIXME 已知有问题的代码 HACK 不得不采用的粗糙的解决方案 2. 测试 单元测试用例要同步刷新 新的功能及需求加入进来,仍要求跑通历史测试用例,即实现测试的继承性要求; 3. 质量与进度 问题跟踪表; 遗漏...

2018-07-23 22:22:12

阅读数:1168

评论数:0

版本号的管理

1. 语义化版本模式 Semantic Versioning 语义化版本的介绍: Semantic Versioning 2.0.0 语义化版本 2.0.0 主版本.小版本.补丁:MAJOR.MINOR.PATCH(主版本号.次版本号.修订号) 主版本号:当你做了不兼容的 API 修改, ...

2018-05-07 20:56:55

阅读数:624

评论数:0

日志的处理 —— 使用 log4j

通过 log4j,日志信息不仅打印到 console,而且输出到指定文件,根据配置信息; <dependency> <groupId>log4j&amp...

2018-04-27 22:07:33

阅读数:93

评论数:0

命名 —— 函数、类的命名

load、fetch、make load:本地(磁盘)加载 fetch:网络爬取 make:一些合成数据; 1. 函数名刻画全部的事情 子程序的命名应描述所有的输出结果以及副作用(side effects)。 2. 避免不当的动词 无意义或者模糊: handleCalcu...

2018-03-20 23:40:37

阅读数:866

评论数:0

代码健壮性的获得 —— 借助编译器及语言的语法特性

1. 借助编译器 主要利用编译器对语法中一些关键字、修饰符的支持: Java final、static 注意区分 Java 的按值传递和按引用传递,但使用按引用传递时,被调端不会对(没有能力)对调用端造成任何影响, 按引用传递便具备对调用端造成影响的能力,如果在按引用传递的情况下,还想保...

2018-01-20 12:06:36

阅读数:108

评论数:0

代码健壮性 —— 边界条件的判断

边界条件的判断包括: 文件读操作:第一个字符,最后一个字符,倒数第二个字符; 大于号与大于等于号; 1. 数据结构 关于整数: 正数:包括边界值 1、0x7FFF FFFF 负数:包括边界值 0x8000 0000、0xFFFF FFFF 0 关于序列(容器): 序列为空; 序列长...

2018-01-20 11:35:43

阅读数:216

评论数:0

C/C++ 混合编程

[面试] C/C++ 语法(五) —— extern1. C 调用 C++ 开发的DLL库C和C++混合编程(__cplusplus 与 external “c” 的使用)#ifdef __cplusplusextern "C" {#endif/**** some declar...

2017-12-09 14:05:30

阅读数:149

评论数:0

代码可读性、可调式、可维护性

避免魔鬼数字: 将数字通过宏定义或者枚举赋予有意义人类可读的字符串名; 1. 代码文件的拆分 将所有的源代码都写在一个文件中,最开始还很清楚,及至到后来,功能不断扩展添加,一个程序源代码的文件可以长达数百万行,那么该代码无论是维护,还是功能添加,还是调试和定位,都是一种灾难;

2017-12-09 12:18:49

阅读数:130

评论数:0

编写高质量代码 —— 异常退出条件的判断

注意,布尔表达式的先后顺序,有时不可以交换if (null == instance || instance.isEmpty()) 0. 常见异常退出条件 参数为空; 表示长度,表示索引的整型为负数,或者超出待索引数组或容器的范围; 1. String 的 startsWith 函数首先来看 Str...

2017-10-22 19:52:35

阅读数:232

评论数:0

常见空指针异常及其避免

出现在任何一个位置上的对象引用都有可能为 null,在进行访问,赋值,取值,类型转换等操作时,首先判断该对象是否为 null,否则极易抛出空指针异常; map.get(key) ⇒ 就有可能 key 不在 map 中; 避免的方法也十分简单,对返回值进行判断; 如果一个函数的返回值为对象的引用,...

2017-10-11 22:12:09

阅读数:1520

评论数:0

软件工程概论

1. 需求分析 IPO 表格的方式进行组织各个功能模块; IPO:Input,Process,Output,输入、处理与输出; 一些补充说明: 对于基于客户端、服务器端(C/S 架构)程序,要分别从客户端和服务器端两个模型分别进行需求分析; 2. 系统设计 概要设计 vs. 详细设计 概要设...

2017-07-28 15:58:03

阅读数:355

评论数:0

代码注释的说明

1. 注释的对象 注释变量: 变量的意义,存储的是什么内容; 注释函数: 函数名 函数功能的说明 参数及返回值的说明 2. 注释的位置 注释置于代码之上:注释在代码之前,先看到注释后看到代码; 注释置于代码之后(之右):先看到代码,再看到注释; 3. 杂项 Tricks(四十八)—— 注释一段...

2017-03-28 16:42:29

阅读数:289

评论数:0

Python 第三方库 cp27、cp35 等文件名的含义

What does version name ‘cp27’ or ‘cp35’ mean in Python?如对于 gensim-0.12.4-cp27-none-win_amd64.whl文件名而言,将其文件名拆分的话,含义分别是: 0.12.4 - package version, they...

2017-03-16 10:08:57

阅读数:8558

评论数:0

virtualenv 的使用 —— PyCharm 与 Jupyter Notebook

1. 常见参数 --system-site-packages:Give the virtual environment access to the global site-packages. 给定当前环境以获取全局包的权限;

2017-03-16 10:02:06

阅读数:414

评论数:0

windows 下使用 virtualenv 创建虚拟环境

virtualenv虚拟环境为每个项目隔离了一套运行类库,不同的项目在各自的虚拟环境中使用不同的类库,避免了将所有类库都安装到系统环境中导致的不同项目需要不同(版本)类库的问题,项目与项目之间的类库依存不再成为问题。首先使用 pip 命令安装 virtualenv 进入 cmd 命令行界面查询版...

2017-03-16 09:56:52

阅读数:5098

评论数:0

python 工程 ——文件、包、__init__及导入方法

A Session object encapsulates the environment in which Tensor objects are evaluated. 一个会话对象(session object)封装了 Tensor 对象待评估(evaluate)的环境信息。

2017-03-15 12:17:19

阅读数:517

评论数:0

Python 编程规范 —— TODO 注释(结合 PyCharm)

编程是代码和注释的统一; TODO 自然表示需要做而未做的一些待完成的事项,有助于事后的检索,以及对整体项目做进一步的修改迭代。# TODO(kl@gmail.com): Use a "*" here for string repetition. # TODO(Zeke) Ch...

2017-03-13 14:58:07

阅读数:11874

评论数:0

备份的必要

Data LogicaI Consistency; 指数据在数据结构、数据格式和属性编码正确性方面,尤其是拓扑关系上的一致性。 逻辑一致性(logical consistency)与矛盾(Contradiction)相对; 也即逻辑上的一致(logically consistent)= 没有逻辑...

2017-03-04 10:47:53

阅读数:1353

评论数:0

toolbox、library 的组织

不要重复制造轮子;重复利用已完成的函数; 1. 一个普通的 matlab toolbox bigData:规模较大的数据集; data:一般的数据集; demos:演示程序,直接可以运行; tools:工具; util:常用函数; 2. 添加到路径 类似于 windows 下安装程序时的设置...

2016-12-09 17:41:51

阅读数:208

评论数:0

组态档(configuration file)与建构档

组态档,或者叫 configuration file,配置文件。组态档是用一种建构软件专用的特殊编程语言写的 CMake 脚本。 使用组态档能改变程序的设置,而不用重新编译程序。 CMake 的组态档文件为:CMakeLists.txt; Cmake 并不直接建构出最终的软件,而是产生标准的建构档...

2016-10-23 11:34:30

阅读数:365

评论数:0

提示
确定要删除当前文章?
取消 删除
关闭
关闭