[scala代码风格指南]--缩进

英文原文:http://docs.scala-lang.org/style/

译文如下:


缩进

缩进应遵循“2个空格的惯例”。因此,而不是像这样缩进:

 
  
  1. // wrong!
  2. class Foo {
  3. def bar = ...
  4. }

你应该这样缩进:

 
  
  1. // right!
  2. class Foo {
  3. def bar = ..
  4. }

Scala语言鼓励了嵌套范围和逻辑块(函数值等)的惊人数量。自己动手,不要在语法上自己找麻烦,开辟一个新的代码块。来自Java,这种风格确实需要一些习惯,但这是值得的。

行包裹

有时单个表达式达到一个长度,它变得不可读,以将其限制在单行(通常长度超过80个字符的任何地方)。在这种情况下,首选 方法是通过将中间结果分配给值来简单地将表达式分解为多个表达式。但是,这并不总是一个实际的解决方案。

当绝对需要将表达式包含在多行以上时,每个连续的行应该从第一行缩进两个空格 还要记住,Scala要求每个“换行符”要么是一个未封闭的括号,要么以一个没有给出正确参数的中缀方法结束:

 
  
  1. val result = 1 + 2 + 3 + 4 + 5 + 6 +
  2. 7 + 8 + 9 + 10 + 11 + 12 + 13 + 14 +
  3. 15 + 16 + 17 + 18 + 19 + 20

没有这种拖尾的方法,Scala会在一行的末尾推测出一个分号,这个行的意思是打包,有时甚至没有一个警告就抛出编译。

具有大量参数的方法

当调用一个需要大量参数的方法(在五个或更多的范围内)时,通常需要将方法调用包含在多行中。在这种情况下,将每个参数本身放在一行上,缩进当前缩进级别的两个空格:

 
  
  1. foo(
  2. someVeryLongFieldName,
  3. andAnotherVeryLongFieldName,
  4. "this is a string",
  5. 3.1415)

这样一来,所有参数都会排队,但是如果稍后更改方法的名称,则不需要重新对齐它们。

应该非常小心,以避免这种类型的调用在线路的长度上。更具体地说,当每个参数必须缩进超过50个空格以实现对准时,应该避免这种调用。在这种情况下,调用本身应该移动到下一行并缩进两个空格:

 
  
  1. // right!
  2. val myLongFieldNameWithNoRealPoint =
  3. foo(
  4. someVeryLongFieldName,
  5. andAnotherVeryLongFieldName,
  6. "this is a string",
  7. 3.1415)
  8. // wrong!
  9. val myLongFieldNameWithNoRealPoint = foo(someVeryLongFieldName,
  10. andAnotherVeryLongFieldName,
  11. "this is a string",
  12. 3.1415)

更好的是,只是尝试避免任何需要两三个参数的方法!



  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
各个插件配置设置单独配置: ls bundle/.configs/ : asyncrun.vim_conf.vim EasyMotion_conf.vim lookupfile_conf.vim supertab_conf.vim vim-markdown-toc_conf.vim bufexplorer_conf.vim eclim_conf.vim maximizer_conf.vim syntastic_conf.vim vim-powerline_conf.vim CCTree_conf.vim errormarker.vim_conf.vim neocomplcache_conf.vim tagbar_conf.vim vimshell.vim_conf.vim CompleteParameter.vim_conf.vim fuzzyfinder_conf.vim neocomplete.vim_conf.vim ultisnips_conf.vim vim-snippets_conf.vim deoplete-jedi_conf.vim grep.vim_conf.vim neosnippet_conf.vim unite.vim_conf.vim ydtrans_conf.vim deoplete.nvim_conf.vim init.vim nerdcommenter_conf.vim vcscommand_conf.vim YouCompleteMe_conf.vim DoxygenToolkit.vim_conf.vim jedi-vim_conf.vim nerdtree_conf.vim VimIM_conf.vim DrawIt_conf.vim jupyter-vim_conf.vim Nvim-R_conf.vim vim-instant-markdown_conf.vim 在vimrc文件进行基础配置: let mapleader="," let g:mapleader="," autocmd! :mapclear "==========很多插件,可能进行过修改, 若感觉不爽,可以在.vim搜索lidong, 进行还原=================== +-- 11 lines: 插件依赖设置 ---------------------------------------------------------------------------------- source ~/.vim/bundle/.configs/init.vim +--104 lines: F1~F12快捷键映射------------------------------------------------------------------------------- +-- 22 lines: 非F1~F12快捷键--------------------------------------------------------------------------------- +-- 5 lines: 自己定义的命令 -------------------------------------------------------------------------------- +-- 17 lines: 窗口配置--------------------------------------------------------------------------------------- +--229 lines: 简单配置--------------------------------------------------------------------------------------- +-- 55 lines: Gui选项 放到.gvimrc---------------------------------------------------------------------------- +-- 5 lines: 高亮 注释代码的颜色---------------------------------------------------------------------------- +-- 6 lines: 高亮 menu color ------------------------------------------------------------------------------- +-- 7 lines: 高亮 当前行(列)-------------------------------------------------------------------------------- +-- 3 lines: 高亮列----------------------------------------------------------------------------------------- +-- 13 lines: 高亮tab标签------------------------------------------------------------------------------------ +-- 8 lines: 高亮 其他-------------------------------------------------------------------------------------- +-- 10 lines: 字符编码(多字节)------------------------------------------------------------------------------- +-- 12 lines: 设置C/C++语言的具体缩进方式 eg. switch case 缩进----------------------------------------------- +-- 42 lines: vim折叠功能------------------------------------------------------------------------------------ +-- 19 lines: 文件比较--------------------------------------------------------------------------------------- +-- 26 lines: 单词列表匹配-----------------------------------------------------------------------------------

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值