我主要有两个强迫症:
看见双引号的字符串,如果可以用单引号替换,必定用单引号替换代
缩进敏感,喜欢把代码缩进得整整齐齐,但遇到 ruby 中的 when..case..end 结构就无比纠结啊纠结
还有两个不是很严重的强迫症:
看见:sym => sth,就要改成 sym: sth(ruby1.9 的新写法)
喜欢用 action if/unless condition,哪怕已经用 if/unless condition action 写好了
大家有哪些强迫症呢?
Case 我喜欢这么对齐:
@messages = case message_type
when :inbox_messages then current_user.inbox_messages
when :sent_messages then current_user.sent_messages
when :archived_messages then current_user.archived_messages
when :inbox_proposals then current_user.inbox_proposals
when :sent_proposals then current_user.sent_proposals
when :archived_proposals then current_user.archived_proposals
else redirect_to my_message_inbox_path(:inbox_messages)
end
@messages = case message_type
when :inbox_messages then current_user.inbox_messages
when :sent_messages then current_user.sent_messages
when :archived_messages then current_user.archived_messages
when :inbox_proposals then current_user.inbox_proposals
when :sent_proposals then current_user.sent_proposals
when :archived_proposals then current_user.archived_proposals
else redirect_to my_message_inbox_path(:inbox_messages)
end
我现在工作中主要写 python,每次完成前都会用 PyFlakes 的 vim 插件去检查一下,严格遵循 PEP8 http://www.python.org/dev/peps/pep-0008/
原来大家都这样啊....不停 ctrl+s..以前做 java 还不停的 ctrl+shift+f.. 想起高中时候打星际时不停切换编队不停 A 的感觉..
#8 楼 @southwolf #13 楼 @huacnlee
我看见
param: :test
一定会改回 =>.
ruby 程序猿爱 hash rocket
必须超过 Haskell 程序猿爱λ
我的强迫症是看见长的代码就一定要改成短的...
例如看见 :a => 就一定要改成 a:
我的 case ... when 一定要这样... :
@messages =\
case message_type
when :inbox_messages then current_user.inbox_messages
when :sent_messages then current_user.sent_messages
when :archived_messages then current_user.archived_messages
when :inbox_proposals then current_user.inbox_proposals
when :sent_proposals then current_user.sent_proposals
when :archived_proposals then current_user.archived_proposals
else redirect_to my_message_inbox_path(:inbox_messages)
end
然后再改成
if current_user.respond_to?(message_type)
@messages = current_user.send message_type
else
redirect_to my_message_inbox_path(:inbox_messages)
end
textmate 对很多强迫症有良好支持:
ctrl + ' 切换单双引号 ctrl + : 切换字符串和符号 ctrl + [ 切换花括号和 do block opt + cmd + ] 对齐等号 ...
喜欢 每修改一点代码,就 git commit 一下。 喜欢 把多个 git commit 合并成一个 commit,再 push。 喜欢 git rebase 喜欢 在 commit message 中包涵 issue number,比如 -m "#998 member password"。
代码中对绝对不能有 中文,除了 i18n 中的内容。 注释也不能使用中文。 代码中绝对不能使用拼音。 类似的代码必须对齐, 没用的空格 回车,必须删掉。 代码中绝对不可以使用缩写 没有的代码必须删掉。注释掉的代码必须删掉,不允许注释代码(除了调试)。
在我使用 c++ c#的时候,绝对不允许写“注释”(基于代码就是注释和文档的原则) ruby 这种语言,动态特性太强,有些地方(such as magic code)不些注释,真的不行啊。
经常使用 netbeans 和 sublime text 2 的 format
......看到任何感觉不爽的代码,就想改!.......