好好写代码 - Python之美 - 知乎专栏



好好写代码 - Python之美 - 知乎专栏

之前有同学想了解豆瓣的工程管理、CodeReview,代码规范。我先铺垫一下 @段念@清风 2位老师的分享:

1. 前豆瓣工程副总裁段念谈豆瓣的研发管理

2. 文化建设是个"系统工程"

3. 工程师文化中的工具"情结"

4. 豆瓣 CODE 两年历程回顾:git 不是万能的,没有 review 是万万不能的

5. 清风在 C2D2 的分享Slide

说句场外话,就是因为看了清风老师在C2D2的分享,我才决定来豆瓣的。

在这里聊一些我在豆瓣的一些实践和个人理解。

团队要有自己的规范

开发者提交了PR其实就是潜意识的已经认为自己的代码写的还不错,完成了工作。评审者提意见的表达方式就很重要,弄不好就是矛盾。这可以让很多人本身并不喜欢或者被动的做评审和被评审。

实现同一功能,开发者可以选择多种方式,这就是编程的乐趣。但是问题是没有那么多事情是如「太阳东升西落」这样的客观事实,大部分是很主观的,我说这样实现没有问题,你觉得那样可能会更好,谁也说服不了谁。


Read full article from 好好写代码 - Python之美 - 知乎专栏


No comments:

Post a Comment

Labels

Algorithm (219) Lucene (130) LeetCode (97) Database (36) Data Structure (33) text mining (28) Solr (27) java (27) Mathematical Algorithm (26) Difficult Algorithm (25) Logic Thinking (23) Puzzles (23) Bit Algorithms (22) Math (21) List (20) Dynamic Programming (19) Linux (19) Tree (18) Machine Learning (15) EPI (11) Queue (11) Smart Algorithm (11) Operating System (9) Java Basic (8) Recursive Algorithm (8) Stack (8) Eclipse (7) Scala (7) Tika (7) J2EE (6) Monitoring (6) Trie (6) Concurrency (5) Geometry Algorithm (5) Greedy Algorithm (5) Mahout (5) MySQL (5) xpost (5) C (4) Interview (4) Vi (4) regular expression (4) to-do (4) C++ (3) Chrome (3) Divide and Conquer (3) Graph Algorithm (3) Permutation (3) Powershell (3) Random (3) Segment Tree (3) UIMA (3) Union-Find (3) Video (3) Virtualization (3) Windows (3) XML (3) Advanced Data Structure (2) Android (2) Bash (2) Classic Algorithm (2) Debugging (2) Design Pattern (2) Google (2) Hadoop (2) Java Collections (2) Markov Chains (2) Probabilities (2) Shell (2) Site (2) Web Development (2) Workplace (2) angularjs (2) .Net (1) Amazon Interview (1) Android Studio (1) Array (1) Boilerpipe (1) Book Notes (1) ChromeOS (1) Chromebook (1) Codility (1) Desgin (1) Design (1) Divide and Conqure (1) GAE (1) Google Interview (1) Great Stuff (1) Hash (1) High Tech Companies (1) Improving (1) LifeTips (1) Maven (1) Network (1) Performance (1) Programming (1) Resources (1) Sampling (1) Sed (1) Smart Thinking (1) Sort (1) Spark (1) Stanford NLP (1) System Design (1) Trove (1) VIP (1) tools (1)

Popular Posts