����Linux�Ż�
Linux����

��Linus Torvaldsѧϰ�ñ���Ĵ�����С�good taste��

����ʱ��:2017-05-11 09:26:34��Դ:linux.cn����:LCTT
��������� Linus Torvalds ��һ���ɷ��У���λ Linux �Ĵ�ʼ�ˣ��ڲɷù����д�Լ 14:20 ��ʱ���ἰ�˹��ڴ���� “good taste”��good taste���ɷ�������չʾ�����ϸ�ڣ����ǣ�Linus Torvalds չʾ��һ����ǰ׼���õIJ�ͼ��
��չʾ����һ������Ƭ�Ρ�����δ��벢û�� “good taste”������һ������ “poor taste” �Ĵ���Ƭ�Σ�������Ϊ���ӣ����ṩһЩ�����ıȽϡ�
��Linus Torvaldsѧϰ�ñ���Ĵ�����С�good taste��
����һ���� C д�ĺ�����������ɾ�������е�һ�������������� 10 �д��롣
����ע���������ڵײ��� if ��䡣������� if ����ܵ��������С�
 
����ͣ�������Ƶ����ʼ�о��õ�Ƭ���ҷ����������д���������Ĵ��롣Linus ��������˵�ҵĴ���Ʒζ�ܲ����ҷ����԰��������ۿ���Ƶ��
��� Linus ����ڽ��ͣ�����������֪���ģ�����������ɾ��һ������ʱ����Ҫ�������ֿ��ܵ������������ɾ���Ķ���λ�������ı�ͷʱ��ɾ�����̺�λ�������м�������ͬ���������� if ������ “poor taste” ��ԭ��
����Ȼ�����Ͽ��������ֲ�ͬ������DZ�Ҫ�ģ���Ϊʲô����������д�������أ�
 
�����������������չʾ�˵ڶ��Żõ�Ƭ������õ�Ƭչʾ����ʵ��ͬ�����ܵ�һ������������δ������ “goog taste”����
��Linus Torvaldsѧϰ�ñ���Ĵ�����С�good taste��
ԭ�ȵ� 10 �д������ڼ���Ϊ 4 �С�
�����������������Ҫ���ؼ��� if ��䣬�������ˣ���Ϊ������Ҫ�ˡ������Ѿ����ع������ԣ����ùܶ������б��е�λ�ã�����������ͬ���IJ�������ɾ����
Linus ������һ���µĴ��룬�������˱�Ե���������������Ȼ��ɷ�ת������һ�����⡣
 
����ĥ��һ����δ��롣 Linus �ǶԵģ���ȷ���ڶ����������á��������һ��ȷ��������� “good taste” ���� “bad taste” �IJ��ԣ���ô���ź�����ʧ���ˡ��Ҵ�δ�뵽���п����ܹ�ȥ��������䡣��д����ֹһ�������� if ��䣬��Ϊ�Ҿ���ʹ��������
������ӵ����壬�������ǽ̸�������һ����������ɾ������ĸ��÷�������������������ȥ˼���Լ�д�Ĵ��롣��ͨ������ʵ�ֵ�һ�����㷨�����ܻ��иĽ��Ŀռ䣬ֻ�������û�п��ǹ���
�����ַ�ʽ���һ�ȥ����������������Ŀ�Ĵ��롣Ҳ����һ���ɺϣ��պ�Ҳ���� C д�ġ�
�Ҿ���������ȥ�����룬“good taste” ��һ������Ҫ���ǹ��ڱ�Ե���������������ͨ�����ǻ�ʹ�����������������Ե�������IJ���ʹ�õ��������Խ�٣���Ĵ���ͻ��и��õ� “taste” ��
 
���棬�ҽ�����һ��ͨ������������˸Ľ���һ���������ӡ�
����һ�����ڳ�ʼ�������Ե���㷨��
������д����һ��������ʼ�������Ե���㷨������ grid ��һ����ά�����ʾ��grid[��][��] ��
�ٴ�˵������δ����Ŀ��ֻ��������ʼ��λ�� grid ��Ե�ĵ��ֵ�����ԣ�ֻ��Ҫ�����Ϸ�һ�С����·�һ�С������һ���Լ����ұ�һ�и�ֵ���ɡ�
Ϊ���������£���ͨ��ѭ������ grid �е�ÿһ���㣬Ȼ��ʹ��������������Ըõ��Ƿ�λ�ڱ�Ե�����뿴������������������
for (r = 0; r < GRID_SIZE; ++r) {
for (c = 0; c < GRID_SIZE; ++c) {
// Top Edge
if (r == 0)
grid[r][c] = 0;
// Left Edge
if (c == 0)
grid[r][c] = 0;
// Right Edge
if (c == GRID_SIZE - 1)
grid[r][c] = 0;
// Bottom Edge
if (r == GRID_SIZE - 1)
grid[r][c] = 0;
}
}
 
��Ȼ�������ǶԵģ����ع�ͷ����������ṹ����һЩ���⡣
1.������ — ��˫��ѭ������ʹ�� 4 ����������ƺ����ڸ��ӡ�
2.��Ч�� — ���� GRID_SIZE ��ֵΪ 64����ô���ѭ����Ҫִ�� 4096 �Σ�����Ҫ���и�ֵ��ֻ��λ�ڱ�Ե�� 256 ���㡣
�� Linus ���۹�������������Ϊ��δ���û�� “good taste” ��
���ԣ��Ҷ���������������һ��˼��������һ��˼�����ҰѸ��Ӷȼ���Ϊ�����ĸ��������ĵ��� for ѭ������Ȼֻ����΢�Ľ���һ�¸����ԣ�����������Ҳ���˼������ߣ���Ϊ��ֻ�����ű�Ե�ĵ������ 256 ��ѭ����
for (i = 0; i < GRID_SIZE * 4; ++i) {
// Top Edge
if (i < GRID_SIZE)
grid[0][i] = 0;
// Right Edge
else if (i < GRID_SIZE * 2)
grid[i - GRID_SIZE][GRID_SIZE - 1] = 0;
// Left Edge
else if (i < GRID_SIZE * 3)
grid[i - (GRID_SIZE * 2)][0] = 0;
// Bottom Edge
else
grid[GRID_SIZE - 1][i - (GRID_SIZE * 3)] = 0;
}
 
��ȷ��һ���ܴ����ߡ��������������ܳ󣬲����������Ķ�����Ĵ��롣������һ�㣬�Ҳ������⡣
�Ҽ���˼�����Ƿ���Խ�һ���Ľ��أ���ʵ�ϣ����� YES������������һ���dz��������ŵ��㷨����ʵ˵���Ҳ��������һỨ����ô��ʱ��ŷ�������㷨��
��������δ�������汾����ֻ��һ�� for ѭ������û��������䡣���⡣ѭ��ִֻ���� 64 �ε���������ĸ����˸����Ժ͸�Ч�ԡ�
for (i = 0; i < GRID_SIZE; ++i) {
// Top Edge
grid[0][i] = 0;
// Bottom Edge
grid[GRID_SIZE - 1][i] = 0;
// Left Edge
grid[i][0] = 0;
// Right Edge
grid[i][GRID_SIZE - 1] = 0;
}
 
��δ���ͨ��ÿ��ѭ����������ʼ��������Ե�ϵĵ㡣���������ӣ����ҷdz���Ч�������Ķ�����ԭʼ�İ汾�������ǵڶ����汾��ȣ���������֮��
���ˣ����Ѿ��dz������ˡ�
 
��ô������һ���� “good taste” �Ŀ�����ô��
�Ҿ������ǣ������Ⲣ������Ϊ�������ṩ��������ӣ�Ҳ������Ϊ������ƪ������û���ᵽ���������룬������Ϊ���� “good taste” �ı��빤��Զ��һ�δ������ܴ�����Linus �Լ�Ҳ˵�����ṩ����δ��벻���Ա������Ĺ۵㡣
������ Linus ����˼��Ҳ������Щ���� “good taste” �ij���Ա����в�ͬ���������Ƕ��ǻὫ����֮ǰ�����Ĵ��뻨��ʱ���ع����ˡ�������ȷ�綨��������������ı߽磬�Լ���������������֮��Ľ�������������ȷ��ÿһ�����������������š�
�������������� Linus �� “good taste” �����ӣ��������ҵ�����һ����������ǧǧ����� “good taste”��
���������¸���ĿҲ�������� “good taste” ��
 
�������ø��µ�ַ��//m.ajphoenix.com/linux/30681.html