书架上出现频率最高的书籍

 人月神话:软件工程评述-周年版

Fredrick P. Brooks著

这本论述软件工程中人的因素的经典著作出版于1975年。这些年来,技术已经发生了很大的变化,但是人的因素还是和原来一样让人头痛。这是一本有深刻洞察力的书籍,也是一本在业界非常著名,常常被引用的书籍。《人月神话》概括了许多在大中型项目中经常遇到的,也是非常致命的问题。它提出了2条著名的准则:

◦人月神话:向一个已经延后的项目中投入更多的人力资源只会让它更延后
◦没有银弹:没有一种策略,技术或者技巧可以极大地提高程序员的生产力
我不仅向程序员推荐这本书,也想任何一个项目管理人员推荐这本书。项目经理和程序员都会喜欢布鲁克斯清楚而明晰的观点。

 

计算机程序设计与解释 (第二版)

Harlod Abelson和Gerald Jay Sussman著

SICP是一本被很多顶级高校,诸如加州大学伯克利分校,麻省理工学院等,使用的入门书籍。它用Scheme语言介绍了许多强大的范例,比如递归,lamda表达式,抽象以及解释性语言。

我发现这本书做为入门教材是难以想象的厚重。我工作了几年并且对这些东西有了更深的了解以后,再来重新读这本书,仍然学到了很多东西。

如果你在课堂上没用到这本书,我推荐你把它找来仔细看看自己遗漏了什么,特别是你没用使用过LISP这样的语言的话。

代码大全2:软件架构的实用手册

Steve McConnell著

《代码大全2》是一本在软件架构方面得到高度评价的书。McConnell在书中定义了主要的编程和调试的架构,也阐述了一些架构设计,详细设计,单元测试,整合和整合测试的内容。

这本书的主要目的是让你写出更好的代码。McConnell涉及了包括管理软件复杂度,重构,代码风格和写出优美的注释等方方面面的内容。

这本书推荐给任何一个想写出健壮的代码的人。当你学习到了良好的代码实践,那么你就会节约很多起步的时间;同时,它对于有多年经验的程序员也能帮助他们改变自己不好的开发习惯。

算法简介

Thomas H. Cormen,Charles E. Leiserson,Ronald L. Rivest 和 Clifford Stein著

这是另外一本教材。《算法简介》也许是大学中使用的最多的算法教材。它同时也是一本非常好的参考书。

尽管在实际情况中大部分程序员在生产环境中都不会自己去写诸如快速排序这样的算法实现,但是算法知识是了解你所应用的库以及你自己代码实际效率的基础。

《算法简介》被推荐给任何一个想完善自己算法技巧的开发人员,它也被推荐给那些对NP完备性,随机算法,快速傅立叶变换等课题感兴趣的人。阅读这本书也需要良好的数学知识。

设计模式:可复用的面向对象软件的原则

Erich Gamma,Richard Helm,Ralph Johnson和John M. Vlissides著

这本书阐述了各种面向对象的设计模式。对于书中23种模式的每一种,作者都给出了深度分析,这些分析包括清晰的示例,常见的缺陷,相关的模式,用C++或者SmallTalk写的示例代码。这些模式涵盖了单件模式,观察者模式,模板方法模式,迭代器模式和代理模式。

这本书对于使用面向对象语言的中级或者高级开发者是必读书目。刚刚进入面向对象开发的开发人员最好在掌握了面向对象语言以及在非实验性项目中深入实践以后再来学习里面的模式。否者你学到的东西不可能是很牢靠的。

编程珍珠 (第二版)

Jon Bentley著

这本书在学习解决问题的技巧方面非常突出。15章的每一个章节都对应着一个任务,例如排序电话号码,创建回文词或者搜索文本。Bentley先定义问题,然后再提出不同的解决方案,提供了讨论和对每个解决方案清晰的分析,最后再给出了编程的基本原则。

《编程珍珠》包含了一些非常聪明的主意,它们可以用来做为解决一些小问题的时候做为参考。但是这本书更有用的地方是如何从工程师的角度解决问题。

我把这本书推荐给每一位享受编程工作的人。

编译器:原则,技术和工具

Alfred V. Aho, Ravi Sethi 和Jeffrey D. Ullman著

《编译器:原则,技术和工具》通常被叫做“龙书”(封面上有一条红色的龙)。它是编译原理课堂上的标准图书。它涵盖了你想知道的编译器的各方面:文法,分析器,词法分析,语法,中间语言的产生,运行时环境,优化等等。如果你对这些东西还没有足够的了解的话,那么你就要准备去学习一些新的术语和概念,比如确定性有限自动机,有限状态自动机,LR剖析器等等。

我很喜欢龙书的各部分并且对里面的数学概念和理论很感兴趣(它们贯穿了整本书)。如果你很喜欢正则表达式和状态机,那么你会很喜欢这本书。另外一方面,如果你想知道一些现代编译器的实现原理,你可能无法在里面找到你所需要的东西。龙书是1986年出版的,不能涵盖这些现代的话题。

还有几本在业界挺有名的书也在这儿罗列一下:

 

重构,改善既有代码的设计

Martin Fowler著

 

被成为软件行业四大名著之一,作者通过案例描述了重构原理和具体做法,新添大量重构方法,使你与时俱进。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
您可以按照以下步骤将txt文件导入Android Studio的书架上: 1. 在Android Studio创建一个新的项目或打开现有项目。 2. 在项目的`app`模块下创建一个新的目录,例如`assets`。 3. 将您的txt文件复制到 `assets` 目录。 4. 在 `assets` 目录,右键点击并选择 "New" -> "File",创建一个新的Java类,例如 `BookshelfManager`。 5. 在 `BookshelfManager` 类,您可以使用以下代码来读取 txt 文件并将其添加到书架上: ```java import java.io.BufferedReader; import java.io.IOException; import java.io.InputStream; import java.io.InputStreamReader; import java.util.ArrayList; import java.util.List; public class BookshelfManager { public List<String> loadBooksFromTxtFile(InputStream inputStream) { List<String> books = new ArrayList<>(); try { BufferedReader reader = new BufferedReader(new InputStreamReader(inputStream)); String line; while ((line = reader.readLine()) != null) { books.add(line); } reader.close(); } catch (IOException e) { e.printStackTrace(); } return books; } } ``` 6. 在您希望导入txt文件并显示在书架上的活动(Activity),您可以使用以下代码来调用 `BookshelfManager` 类: ```java import android.content.res.AssetManager; import android.os.Bundle; import android.widget.ArrayAdapter; import android.widget.ListView; import androidx.appcompat.app.AppCompatActivity; import java.io.IOException; import java.io.InputStream; public class MainActivity extends AppCompatActivity { private ListView bookListView; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); bookListView = findViewById(R.id.book_list); // 获取 AssetManager AssetManager assetManager = getAssets(); try { // 打开txt文件 InputStream inputStream = assetManager.open("your_file_name.txt"); // 使用 BookshelfManager 加载书籍列表 BookshelfManager bookshelfManager = new BookshelfManager(); List<String> books = bookshelfManager.loadBooksFromTxtFile(inputStream); // 将书籍列表显示在 ListView 上 ArrayAdapter<String> adapter = new ArrayAdapter<>(this, android.R.layout.simple_list_item_1, books); bookListView.setAdapter(adapter); } catch (IOException e) { e.printStackTrace(); } } } ``` 请确保将 "your_file_name.txt" 替换为您实际的txt文件名。此代码将读取txt文件的每一行,并将其添加到书架上的ListView。 希望这可以帮助您实现将txt文件导入到Android Studio的书架上
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值