background image

match:      #  Split  the  match  to  be  able  to  colorize  it      #  prefix,  matched_pattern,  sufix 
smatch 

[to_match[:match.start()], 

 

 

to_match[match.start(): 

match.end()], 

to_match[match.end():]]      if  not  path_match:      #  Add  the  fullpath  to  the  prefix 
smatch[0]  =  os.path.join(root,  smatch[0])      if  output:      print_match(smatch,  colored) 
results.append(full_filename)   return results    

在第一段代码里会出现滚动条,但即使是没有出现滚动条,这代码表现的也不美观,

视觉上不平衡。第二段代码看起来更好,更容易阅读。
   另外重要的一点是,我可以在屏幕上显示更多的东西。很多时候我们都需要屏幕上同
时看一个文件的多个地方,或多个文件的内容。我喜欢的实现这个目的的方法是让它们按列
排列。如果整个文件有

80 个宽度的限制,代码会有一个很好的呈现,我不用担心代码在编

辑器里会否自动折行,不用去麻烦配置编辑器。如果我需要使用

vim 在命令行里快速编辑一

个文件,就不用担心文件的宽度。能专注于代码。

   

竖行排列显示

   

唯一有问题的是使用

Django 的时候。当使用 Django 框架,你需要使用很多像这样的调

用:

   ThisIsMyModel.objects.find(field1=value1, field2=value2).count()   在有缩进的代

码里,一个

‘最小’的 model 函数调用都会让你没有多少剩余空间…但我仍然坚持相同的原则,

尽量让代码表现的清晰可读,但这比起其它

Python 代码来要难的多。   所以,即使这个

限制最初的愿望已经和现在完全不符合,我仍然觉得这个限制能帮助我写出更可读紧凑的
代码。我是一个要求

“可读性”的狂热分子,我甚至认为代码的可读性是一个最重要的需要考

虑的方面,程序员应该在任何时候都铭记这一点。