500 Lines or Less项目介绍 - 头条 - 伯乐在线



500 Lines or Less项目介绍 - 头条 - 伯乐在线

所有建筑专业的学生都会在求学期间学习居家建筑、公寓、学校以及其他类型的建筑的设计。同样的,每一个程序员也应该知道编译器如何编译指令,电子表格如何更新单元格,浏览器如何渲染页面,这本书的目标就是帮助读者从宏观的视角,理解程序设计中的思维方式。

这本书不会专注于算法细节、使用的语言等,而是重点讨论在开发程序中如何做出决策、在软件架构的时候做出何种妥协,比如:

  • 为何将程序设计成这些模块,为何提供这些接口?
  • 这里为什么用继承或者是合成?
  • 这里为什么用多线程,那些为什么不用?
  • 什么时候程序应该依赖插件,插件应该如何被配置,如何载入?

方针

写作应该是有趣的,所以我们尽量精简流程,这里是习作流程的最小集。

  • 当你开始编写的时候,尽量早些提交一个pull请求,这样我们可以尽早获得我们没有意识到的问题。
  • 第一次提交以后,你可以按照你的意愿继续提交。
  • 当你的第一稿完成的时候,在提交中注明,或者直接给我们发邮件,我们会为你的工作分配一两个核查者。

Read full article from 500 Lines or Less项目介绍 - 头条 - 伯乐在线


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