首页 > 编程语言 >程序员修炼之道:从小工大专家(10月二)

程序员修炼之道:从小工大专家(10月二)

时间:2022-11-02 01:12:03浏览次数:45  
标签:10 shell 工大 程序员 编译器 节为 文本 调试

第三章将的是基本工具,作者首先在第14节讲了纯文本的威力,纯文本由可打印字符组成、人可以直接阅读和理解其形式,纯文本意味着文本是无结构的,通过纯文本,可以获得自描述的、不依赖于创建它的应用的数据流,但纯文本有两个主要缺点:(1)与压缩二进制格式相比,存储纯文本所需空间更多,(2)要解释及处理纯文本文件,计算上的代价更加昂贵。既然更大和更慢不是用户最想要的特性,为什么还要实用纯文本,好处是什么:(1)纯文本保证不过时,人能过阅读的数据形式、以及自描述的数据,将比所有其他的数据形式和创建他们的用用都过得更长久。(2)杠杆作用,计算世界的每一样工具,从源码管理系统到编译环境,再到编译器及独立的过滤器,都能过在纯文本上进行操作,(3)更利于测试,用纯文本创建用于驱动系统测试的合成数据,那么增加、更新、或是修改测试数据就是一件简单的事情,而且无须为此创建任何特殊工具。(4)最小公分母,在异种环境中,纯文本的优点比起所有的缺点都重要。

第15节为shell游戏,每一个木匠都需要好用、坚固、可靠的工作台,用以在加工工件时把工件放置在方便的高度上,对于操作文本文件的程序员,工作台就是命令shell,,熟悉shell,会发现自己的生产效率迅速提高,第16节为强力编辑,作者认为我们最好是精通一中编译器,并将其用于所有的编辑任务:代码、文档、备忘录,系统管理,如果不坚持使用一种编译器,就会面临现代的巴别塔大混乱,除了我们认为特别有用、使用是特别舒适点的特性外,还要有一些基本能力,编译器的所有方面都能按照你的偏好配置,编译器不应该只因为出现了一种新的编程语言就会变得过时,我们应该能对编译器编程,让他执行复杂的、多步骤的任务。

第17节为编码控制,把整个项目置于源码控制系统的保护之下具有一项很大的、隐蔽的好处:可以进行自动的和可重复地产品构建。18节为调试,没有人能够写出完美的代码,所以调试肯定要占用我们大量的时间。对于开发者来说,调试本身就是一个敏感、感性的话题,但我们要接受事实:调试就是解决问题,要据此发起进攻。在开始调试之前,选择恰当的思维方式十分重要,我们要记住调试的第一准则:不要恐慌,要明白从何处开始,有测试策略,是数据可视化。找到问题的原因的一种非常简单,却有特别有用的技术是向别人解释他。要消除过程,明白这个bug让我们吃惊的要素。

19节和20节分别为文本操作和代码生成器。如同木匠有时会制作模具。用以控制复杂工件的打造一样,程序员也可以编写代码,这就在代码生成器一节讲解。

标签:10,shell,工大,程序员,编译器,节为,文本,调试
From: https://www.cnblogs.com/cinan/p/16849507.html

相关文章

  • 10.31
    #include<stdio.h>#include<math.h>intmain(){ unsignedlonglonga,n; scanf("%llu",&a); n=a; intsz,i,j,x; for(i=0;;i++) {a/=10;sz++; if(a==0){break; ......
  • 程序员修炼之道-从小工到专家(十月一)
    程序员修炼之道:从小工到专家的第二章讲了注重实效的途径,第一节讲了重复的危害,作为程序员,我们收集、组织、维护、利用知识,但是知识并不是稳定的,所有的不稳定都意味着我们要......
  • [ARC108E] Random IS
    仔细观察容易想到设\(f_{l,r,x,y}\)表示限制了区间\([l,r]\)种只能取\([x,y]\)中的数期望取多少个,看一下转移发下可能对最终答案有贡献的\([x,y]\)只可能是\([p_{......
  • 010.Mybatis数据查询
    1.Mybatis数据查询步骤   2.在mappers映射器下创建文件(src/main/resources/mappers/goods.xml)<?xmlversion="1.0"encoding="UTF-8"?><!DOCTYPEmapper......
  • L - Intersection and Union Gym - 103993L (线段树)
    题意思路思路很巧妙,首先是枚举每个值的贡献,然后找到了规律,下次做题的时候线分析每个题有啥好规律,然后根据规律做题。再就是线段树的这个思路,感觉很巧妙,通过设置每一段的......
  • “烦人的催人精”-强有力的推动者(下)(2022年10月17日-10月21日)
        非链路延期要不要同步?延期细节要不要事事俱到?事外人轻松发言,局内人如何应对?......    笔者认为如果是非链路的话,风险/问题情况可控的话,不需要对外同步,避......
  • 信息安全系统设计与实现学习笔记10
    一、知识点归纳以及自己最有收获的内容1、知识点归纳第12章块设备I/O和缓冲区管理1、块设备I/O缓冲区I/O缓冲的基本原理非常简单。文件系统使用一系列I/O缓冲区作为块......
  • 程序员修炼之道观后感
    第13节估算1、通过学习估算,并将此技能发展到事物的数量级有直觉的程度,你就能展现出一种魔法般的能力,确定他们的可行性。2、多准确才足够准确?130个工作日和大概6个月,......
  • 程序员修炼之道观后感4
    第19节文本操纵1、学习一种文本操纵语言。文本操作语言对于编程的意义,就像是刳刨机对于木工活的意义。2、文本操作的案例。我们的测试数据有好几万条,散落在不同文件,如......
  • 2022-10-31学习内容
    1.数据库版本升级1.1UserDBHelper.javaprivatestaticfinalintDB_VERSION=2;@OverridepublicvoidonUpgrade(SQLiteDatabasedb,intoldVersion,intnew......