《代码大全2》读书笔记 Week2】的更多相关文章

代码的未来读书笔记<二> 3.1语言的设计 对Ruby JavaScript Java Go 从服务端client以及静态动态这2个角度进行了对照. 这四种语言因为不同的设计方针,产生了不同的设计风格. Header client 服务端 动态 Html5 Ruby 静态 Java Go 静态动态 静态:无需实际执行,仅依据程序代码就能确定结果. 动态:仅仅有到了执行时才干确定结果.只是不管不论什么程序,或多或少都包括的动态的特性. 动态执行模式 执行中的程序能识别自身,并对自身进行操作.对程…
<代码大全2>第四.五章 第四章“关键的‘构建’决策”主要有以下三要点:1.每种编程语言都有优点和缺点,程序员应根据需要选择编程语言,尽量选择熟悉的语言以提高生产效率.作为一种表达工具,编程语言当然也会影响到使用者的思维,然而大多数重要的编程原则并不依赖与特定的语言,而是使用语言的方式.作者提倡“深入一种语言去编程”,当选择的语言缺乏构件或者其他问题时,我们不应该被语言的可行性束缚住,而是试着发明自己的编码约定.类库等去弥补它.2. 高质量的软件工程强调“架构的概念完整性”与其“底层实现”之间…
在android开发中找出当前界面对应的Activity,步骤如下: 新建一个BaseActivity继承自Activity,然后在BaseActivity中重写onCreate()方法,通过getClass().getSimpleName()获取当前实例的类名,并通过Log打印出来.代码如下: public class BaseActivity extends Activity { protected void onCreate(Bundle savedInstanceState){ supe…
这本书买了好久了,除了刚到手的那几天翻看了一下以外,竟然到今天都没有看过.突然想要写一个shell脚本,发现什么也不会,是时候开始学习了,今天先把最简单的一章再看一遍顺便做一些笔记,明天继续后面的! man命令用来访问存储在Linux系统上的手册页面.在想要查找的工具的名称前面输入man命令,就可以找到那个工具相应的手册条目. 如果你是新接触bash shell,可能一开始会觉得手册页并不太有用.但是,如果养成了阅读手册的习惯,尤其是阅读第一段或是DESCRIPTION部分的前两段,最终你会学到…
<程序员修炼之道>这本书后面一部分则是更深入.更具体.更细致地就程序员应该注意的事项做一些讨论,书中说的很多在过去的经历中都有较深的体会,同时也给了我很多启发.以下是一些我感悟较深的点: 1.工匠与工具    工匠在使用工具的过程中,二者互相磨合,工具甚至变成了工匠双手的延伸.这就好像我们学习与适应的过程.在学习初始阶段,我们先精心挑选我们的工具.然后在使用这些工具时,不断地熟悉,不断地适应,工具成为你的大脑的一部分,它能放大你的才干.但是我们不能总局限于单一的工具,虽然有些工具看起来通用,但…
ADT abstract data type 抽象数据类型 要理解面向对象编程,就要先理解ADT这个概念.不懂ADT的程序员开发出来的类只是名义上的"类"而已--只是单纯的把一些相关的数据和子程序堆砌在一起.然而要在深入理解ADT之后,程序员就能够写出在一开始很容易实现.日后也易于修改的类来 ADT指的仅仅是一个对象和其对应需要的操作这样的逻辑结构,这样的抽象思维,忽略底层实现.这样可以使得调用者更加的透明化且代码更加易于理解,注意,ADT抽象应该选择更加高级的概念进行抽象,这样才更加…
当用户登录终端的时候,通常会启动一个默认的交互式shell.系统究竟启动哪个shell,这取决于用户配置.一般这个shell都是/bin/shell.默认的系统shell(/bin/sh)用于系统shell脚本,如那些在系统启动时运行的脚本. 用于登录某个虚拟控制器终端或在GUI中运行终端仿真器时所启动的默认的交互shell,是一个父shell.在CLI提示符后输入/bin/bash命令或其他等效的bash命令时,会创建一个新的shell程序.这个shell程序被称为子shell. 使用$ps…
更多的bash shell命令 想检测进程,需要熟悉ps命令的用法.ps命令好比工具中的瑞士军刀,它能输出运行在系统上的所有程序的许多信息.默认情况下,ps命令只会显示运行在当前控制台下的属于当前用户的进程. $ps -ef 如果想查看系统上运行的所有进程,可用-ef参数组合.(-e:显示所有进程,-f:显示完整格式的输出) top命令能够实时显示进程的信息. 在Linux中,进程通过信号来通信.进程的信号就是预定义好的一个消息,进程能识别它并决定忽略还是做出反应.进程如何处理信号是由开发人员通…
第一章:初识Linux 1.linux可划分为四个部分:内核.GNU工具.图形化桌面环境.应用程序 2.内核主要负责:系统内存管理.软件程序管理.硬件设备管理.文件系统管理 3.内核的系统内存管理,有用到交换空间(虚拟内存) 4.内核的软件程序管理,有5个运行级数. 5.shell属于GNU工具 6.GUN是由开源组织贡献的开源程序 7.linux有完整的核心发行版.特定用途的发型版(ubuntu).liveCD测试发行版(U盘启动)三类…
很多好的编程做法都能减轻你的大脑灰质细胞(指脑力)的负担. 将系统"分解",是为了使之易于理解("设计的层次"). 进行审查.评审和测试正是为了减少人为失误.如果你从不犯错,就无须复审自己的软件.但要知道,人的智力是有限的,所以应和他人沟通,来提高软件质量. 将子程序编写得短小,以减轻大脑负荷. 基于问题而不是低层实现细节来编程,从而减少工作量. 通过各种各样的规范,将思路从相对繁琐的编程事务中解放出来. 编程生涯成熟的部分标志就是发展出一种不屈不挠的诚实感.通常表…