《代码阅读方法与实践》-读后感 | kernelchina



《代码阅读方法与实践》-读后感 | kernelchina

名气不是很大的一本书,本来觉得看看电子版就ok了,读了一半觉得值得收藏,以后再翻几遍。幸好没有绝版,得以买了一本新的。翻阅圈点了一遍,发现最后附录B的格言汇总部分包括了我圈点的多数内容,作者还是挺用心的。

其中的C语言部分,本来觉得翻翻就过去了,发现作者的视角与众不同。传统的C语言描述,都介绍语法,而作者总结了C的building block在实践中的应用。例如struct可以用于从函数返回多个元素,构造链表,映射数据,实现抽象数据类型,模拟面向对象编程。其他数据结构章节描述也类似。看得出来是作者在读各种open source code的时候有意总结为止。另一个例子是库的目的:重用代码、组织模块集合、组织和优化编译过程、实现应用程序的按需载入(我再增加一点:实现应用组件的动态升级)。其中一道课后题目是,for循环的十个用法,令人汗颜。

本书的特色在于,同数据结构和语言描述图书不同,涉及更多工程实践。同软件工程不同,涉及具体实现。总之和确实没有同类型的书。本书缺点是图书出的太早,那个时候还没有sourceinsight, visual slickedit,ultraedit。因此代码阅读工具比较陈旧,大家都不这么用了。另外,语言和数据结构的介绍还可以更加工程,我的感觉对比一下linux 2.4和2.6 list的实现,就可以知道仅仅list就有这么丰富的内涵,传统的数据结构课程从工程的角度讲有些落伍。


Read full article from 《代码阅读方法与实践》-读后感 | kernelchina


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