TODO注释
什么是TODO注释?
标记的注释,表示你代办的任务。
作用
标记你需要编写的任务位置
使用方法
TODO: + 说明:
如果代码中有该标识,说明在标识处有功能代码待编写,待实现的功能在说明中会简略说明。
如图:
完成后可改成DONE。
在PHPSTORM中可使用快捷键alt+6查看
还有一个FIXME注释,表示代码出错等待修改。
至于phpstorm快捷键好像没有,但是可以ctrl+shitf+f进行全目录搜索,搜索FIXME,hhh
TODO注释
什么是TODO注释?
标记的注释,表示你代办的任务。
作用
标记你需要编写的任务位置
使用方法
TODO: + 说明:
如果代码中有该标识,说明在标识处有功能代码待编写,待实现的功能在说明中会简略说明。如图:
完成后可改成DONE。
在PHPSTORM中可使用快捷键alt+6查看
还有一个FIXME注释,表示代码出错等待修改。
至于phpstorm快捷键好像没有,但是可以ctrl+shitf+f进行全目录搜索,搜索FIXME,hhh
转载于:https://www.cnblogs.com/wwjchina/p/9318572.html
起初我在做项目的时候,发现在看前辈的代码时候,经常可以看到TODO,当时我还没在意,后面发现多了,就好奇这是什么意思。
“TODO ”的英文翻译为“to do” 。是表示这个地方还有一些事情要做,有一些代码要写的意思,也就是需要去做的事情,因为用了这个注释,不少 IDE 和 文本编辑器会对 TODO额外做些高亮显示,在代码中很明显,所以作为程序员在编写代码时给自己留这个备忘。
所以以后写代码的时候可以养成习惯在你觉得代码还有待完善的地方备注一下TODO吧。另外,还有两个常用的注释FIXME(待修正)、XXX(待改进),这两个你可以用在你对这代码没有把握、不确定、不清楚的时候备注一下。
单看TODO知道这表示将要做的事情。我想说VS在服务大众方面真是做的很棒。他把我们现实生活中遇到的问题成功地解决了。人的注意力集中时间是不连续的,为了让开发人员在短暂的休息之后迅速投入到自己的工作中来,TODO推出了自己的服务。他就像是一本书的标签一样,告诉开发人员在什么地方有功能代码编写还只是写了一个框架,还需要继续完善。
接下来让我们看看具体该如何布置代码“书签”!
第一步,在新建的方法下面写出“//TODO:+方法名”
书签就部署好了,接下来我们该如何查看我们的书签呢?
点击视图,选择任务列表。
在任务列表中点击右边的向下的三角形,然后选择注释。
所有的接下来需要完善的功能就都在这里展现了。
我想Vs里面很多的功能也并不是一蹴而就的,他肯定也是在开发人员的使用过程中不断的提出对软件的新的需求,然后微软公司根据开发人员的需求不断的进行改进。这种虚怀若谷的心态很值得我见贤思齐。此外我在搜集TODO这方面得资料的时候发现一个很好玩的东西,你们可以去看看。他跟我们提高班的四象限处理原则非常的契合。TODO,土豆土豆炖!
Java基础相关
1、正则表达式里,字符串“*”写成“\\*”,“\”写成“\\\\”,为什么?
注意以下两点:
所以对于“\\\\”,第一个斜杠是转义符,第二个斜杠是斜杠本身,第三个斜杠是转义符,第四个斜杠是斜杠本身。这样就成了4个斜杠在正则表达式里面表示一个斜杠。
更多知识点:
String类中replace(CharSequence target,CharSequence replacement)方法与replaceAll(String regex, String replacement)方法的区别如下:
public static void main(String[] arg) throws OgnlException {
String s ="sdf\\a\\aa";
//把s中的反斜杠\ 替换为\\
System.out.println(s);
System.out.println(s.replaceAll("\\\\", "\\\\\\\\"));
System.out.println(s.replace("\\", "\\\\"));
}
根据ASCII排,具体如下:
0-9(对应数值48-59);
A-Z(对应数值65-90);
a-z(对应数值97-122);
标准序: 短在前,长在后,等长的依次比字母
如to < up < cap < cat < too < two <boat < boot < card
字典序: 依次比字母(按字典里的顺序比较)
如boat < boot <cap < card < cat < to < too< two < up
字典序是不忽略字符的大小写的,大写字符排在小写字符前
如:“ZEBRA” < "alligator"
Comparable接口的compareTo不忽略字符的大小写,按照字典排序
public int compareTo(String anotherString)
compareTo 按字典顺序比较两个字符串。该比较基于字符串中各个字符的 Unicode 值。将此 String 对象表示的字符序列与参数字符串所表示的字符序列进行比较。如果按字典顺序此 String 对象在参数字符串之前,则比较结果为一个负整数。如果按字典顺序此 String 对象位于参数字符串之后,则比较结果为一个正整数。如果这两个字符串相等,则结果为 0;compareTo 只有在方法 equals(Object) 返回 true 时才返回 0。
cat 和 echo 的区别:
cat:Concatenate FILE(s), or standard input, to standard output.
echo: Echo the STRING(s) to standard output.
echo > 和 ehco >> 的区别:>>是追加,>是覆盖
shell中echo $+变量与echo ${变量}的区别:
如变量ABC=123, echo $ABC 与 echo ${ABC} 在绝大多数情况下是一致的
不过后者更好,因为没有歧义。
如还存在一个变量AB=888
那么$ABC是什么呢?
1. $ABC = $AB + "C" = 888 + "C" = 888C
2. $ABC = 123
如果使用${ABC}就没有这样的疑惑,SHELL很容易确定你要的就是变量ABC
echo 字符串 和 echo $字符串 的区别:
echo 字符串-------->打印字符串
echo $字符串------->此时的字符串就相当于一个变量,打印的是变量的值,比如 echo $PATH,这个命令就是在屏幕上输出环境变量
@echo off在bat文件中的作用:
echo [{on off}] [message]
Sample:@echo off / echo hello world
echo off是关闭回显的功能。在没有关闭回显的情况下,每行命令都会在屏幕上显示一遍,而关闭回显后,屏幕就只显示命令的执行结果了。当再次出现echo on时下面的语句才为可见的(回显),echo通常和@一起使用,@放在echo的前面,即是@echo,作用是让@后面的句子不显示出来,而@本身也是不显示的,那么通过 @echo off 可达到不显示任何信息的效果。
举个例子:
@echo off
echo 123
显示的结果为:123
而
echo 123的结果为:
echo 123
123
RAID:(Redundant Array of indenpensive Disk) 独立磁盘冗余阵列: 磁盘阵列是把多个磁盘组成一个阵列,当作单一磁盘使用,它将数据以分段(striping)的方式储存在不同的磁盘中,存取数据时,阵列中的相关磁盘一起动作,大幅减低数据的存取时间,同时有更佳的空间利用率。磁盘阵列利用的不同的技术,称为RAID level,不同的level针对不同的系统及应用,以解决数据安全的问题。简单来说,RAID把多个硬盘组合成为一个逻辑扇区,因此,操作系统只会把它当作一个硬盘。
一般高性能的磁盘阵列都是以硬件的形式来达成,进一步的把磁盘存取控制及磁盘阵列结合在一个控制器(RAID controler)或控制卡上,针对不同的用户解决人们对磁盘输输入输出系统的四大要求:
Chunk:可以理解为raid分储数据时每个数据段的大小(通常为32/64/128等这类数字大小)。合理的选择chunk大小非常重要,若chunk过大可能一块磁盘上的带区空间就可以满足大部分的I/O操作,使得数据的读写只局限于一块硬盘上,这便不能充分发挥RAID并发的优势;如果chunk设置过小,任何很小的I/O指令都可能引发大量的读写操作,不能良好发挥并发性能,占用过多的控制器总线带宽,也影响了阵列的整体性能。一般缺省为64字节。
详细信息请移步:Linux阵列 RAID详解
海明码(Hamming Code)是一个可以有多个校验位,具有检测并纠正一位错误代码的纠错码,所以它也仅用于信道特性比较好的环境中,如以太局域网中,因为如果信道特性不好的情况下,出现的错误通常不是一位。
海明码的检错、纠错基本思想是将有效信息按某种规律分成若干组,每组安排一个校验位进行奇偶性测试,然后产生多位检测信息,并从中得出具体的出错位置,最后通过对错误位取反(也是原来是1就变成0,原来是0就变成1)来将其纠正。
海明码纠错的详细步骤请移步:
异或(xor)是一个数学运算符。它应用于逻辑运算。异或的数学符号为“⊕”,计算机符号为“xor”。其运算法则为:
a⊕b = (¬a ∧ b) ∨ (a ∧¬b)
输入 | 运算符 | 输入 | 结果 |
---|---|---|---|
1 | ⊕ | 0 | 1 |
1 | ⊕ | 1 | 0 |
0 | ⊕ | 0 | 0 |
0 | ⊕ | 1 | 1 |
硬盘最基本的组成部分是由坚硬金属材料制成的涂以磁性介质的盘片,不同容量硬盘的盘片数不等。每个盘片有两面,都可记录信息。
磁道:Track,可以理解为一个圆形盘片由许许多多的同心圆组成,盘片表面上以盘片中心为圆心,不同半径的同心圆称为磁道。(硬盘是一个高速旋转的东西,当磁盘旋转时,磁头若保持在一个位置上不动,则磁头会在磁盘表面划出一个圆形轨迹,这些圆形轨迹就叫做磁道)
扇区:Sector,可以联想到“扇形区域”,磁盘上的每个磁道被等分为若干个弧段,这些弧段便是磁盘的扇区,每个扇区可存储128×2的N次方(N=0.1.2.3)字节信息。在DOS中每扇区是128×2的2次方=512字节,磁盘驱动器在向磁盘读取和写入数据时应该以扇区为单位。
柱面:Cylinder,硬盘通常由重叠的一组盘片构成,每个盘面都被划分为数目相等的磁道,并从外缘的0开始编号,具有相同编号的磁道形成一个圆柱,不同盘片相同半径的磁道所组成的圆柱称为柱面。磁道与柱面都是表示不同半径的圆,在许多场合,磁道和柱面可以互换使用。显然,磁盘的柱面数与一个盘面上的磁道数是相等的。
磁头:Heads,当然是读取信息用的了。每个盘面都有自己的磁头,如果盘面的双面都记录信息,那么双面都应该有磁头。所以,硬盘的容量计算公式如下:硬盘的容量=磁头数×磁道(柱面)数×每道扇区数×每扇区字节数(512)
SDK中定义了一个叫做DISK_GEOMETRY的结构体:
typedef struct _DISK_GEOMETRY
{
LARGE_INTEGER Cylinders;
MEDIA_TYPE MediaType;
DWORD TracksPerCylinder;
DWORD SectorsPerTrack;
DWORD BytesPerSector;
} DISK_GEOMETRY;