Skip to content

Commit f4bf598

Browse files
committed
format
1 parent 0fc8cf7 commit f4bf598

File tree

3 files changed

+4
-4
lines changed

3 files changed

+4
-4
lines changed

algorithms/algorithms.rst

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@
1111

1212
How to select datastructures for ADT
1313
1. Dose the data structure provie for the storage requirements as specified by the domain of the ADT?
14-
2. Does the data structure provide the data access and manipulation functionality to fully implement the ADT?
14+
2. Does the data structure provide the data access and manipulation functionality to fully implement the ADT?
1515
3. Effcient implemention? based on complexity analysis.
1616

1717
下边代码是个简单的示例,比如实现一个简单的Bag类,先定义其具有的操作,然后我们再用类的magic

codingstyle/codingstyle.rst

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -117,7 +117,7 @@ update: 经验表明,TDD未必是必要的,但是单元测试是很必要的
117117

118118
* KISS原则,Keep It Simple, Stupid。能简单的绝对不要复杂,不要炫耀代码技巧,简单可读最重要,后人会感谢你的。
119119
* DRY原则。就算咱不懂设计模式,只要代码复杂重复了就及时抽取出来,至少不会碰到大问题。当然不要矫枉过正,过度追求设计和通用可能导致难以维护和理解。
120-
* YAGNI(You Aren't Gonna Need It),不要猜测性编码,不用的及时删除,估计以后也不太可能会用到。
120+
* YAGNI(You Aren't Gonna Need It),不要猜测性编码,不用的及时删除,估计以后也不太可能会用到,冗余的无用代码会给维护者带来很多混淆和麻烦
121121
* 快速失败,灵活使用断言。契约式编程(先验条件和后置条件),越早失败,越容易排查错误。
122122
* 及时清理技术债务,防止『破窗』。
123123
* 隐藏复杂性。如果复杂性避免不了,应该尽让内部复杂,接口要保持简单易用,而不要因为业务逻辑复杂就堆砌一堆shit.
@@ -152,7 +152,7 @@ python代码坏味道(新手经常犯的错误)
152152
风格相关:
153153

154154
- 不pythonic,写得很业余(随意),真就信了半天学会python。笔者写代码强制用pep8和pylint检测代码,除了一些无伤大雅的提示(比如行长度超过80),其他错误和提示全部消除。一开始比较痛苦,习惯了能大幅提升代码规范性。
155-
- 上来就整一个不知道啥意思的magic number,大学老师没教你不要滥用幻数?使用Enum或者dict都能替代掉无意义的幻数。
155+
- 上来就整一个不知道啥意思的magic number,大学老师没教你不要滥用幻数?使用Enum或者dict都能替代掉无意义的幻数。总有人偷懒使用幻数,别人看懵逼的。
156156
- 上来就 `from shit import *,` 为了偷懒有可能会导致同名覆盖问题,还会让开发工具找不到定义,工程上不要这么用。
157157
- 包导入顺序混乱,没有按照pep8要求,实际上rope等工具能自动帮你整理顺序,我现在就是偷懒随意写,直接让rope给我整理。(标准库,三方库,本地库,同级按照字典序,vim的话可以用rope插件自动整理顺序)
158158
- 导入最好按照模块导入,使用的时候用module.func使用,防止from module import func可能导致的循环引用。

design/design.rst

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1430,7 +1430,7 @@ Peters在2002年设计的结合了合并排序和插入排序的\ `Timsort <http
14301430

14311431
面向过程与面向对象
14321432
--------------------------------------
1433-
设计模式讲完了,来看看python中OOP的相关东西。笔者在经历过的两家公司见到过各种python程序员,之前的公司有python高手习惯写OOP风格的,现在同事基本用的基本是过程式的。
1433+
设计模式讲完了,来看看python中OOP的相关东西。
14341434

14351435
- 过程式: 基本都是一个个函数(function)来实现功能,你给我一些参数,我对参数做出各种操作,返回需要的结果。
14361436
- 面向对象:把资源抽象成一个类,数据(data)和方法(method)的集合。在构造函数中进行数据属性的初始化,在方法中进行对象数据的各种操作。实际在python里,一切皆对象。

0 commit comments

Comments
 (0)