瞎扯淡 聊聊自己的编程强迫症吧~.~

zfben · 发布于 2011年12月02日 · 最后由 hooopo 回复于 2012年02月04日 · 2976 次阅读
147

我主要有两个强迫症:

  1. 看见双引号的字符串,如果可以用单引号替换,必定用单引号替换代

  2. 缩进敏感,喜欢把代码缩进得整整齐齐,但遇到ruby中的when..case..end结构就无比纠结啊纠结

还有两个不是很严重的强迫症:

  1. 看见:sym => sth,就要改成sym: sth (ruby1.9的新写法)

  2. 喜欢用action if/unless condition,哪怕已经用if/unless condition action写好了

大家有哪些强迫症呢?

共收到 44 条回复
59

@zfben 使劲的保存代码好几遍

22

@rockliu 同样。。每写完一句保存一次。。。

De6df3

#2楼 @bony me too 我是绝对不用 unless 容易逻辑混乱

4
  1. 去掉 trailing space
  2. =, <%, %>, 等前后必加空格...
188

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
3

#5楼 @fredwu 我喜欢这样对齐:

@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
De6df3

#4楼 @poshboytl 这个做法是很正确的,不算强迫症

136
  1. 看见:sym => sth,就要改成sym: sth (ruby1.9的新写法) 这个…我还真没敢这么写。毕竟大家习惯的写法还是:xx => yy, 改了没法看啊…
96

我现在工作中主要写python,每次完成前都会用PyFlakes的vim插件去检查一下, 严格遵循PEP8 http://www.python.org/dev/peps/pep-0008/

243
au BufWritePre *.* :%s/\s\+$//e

vim 保存消除trailing space.

56

原来大家都这样啊....不停ctrl+s..以前做java还不停的ctrl+shift+f.. 想起高中时候打星际时不停切换编队不停A的感觉..

De6df3

#8楼 @southwolf 我也是不太喜欢 1.9 的 hash写法,一直用老的

96

#8楼 @southwolf 这个语法, 有时候,json可以直接拿eval来解析.. 自己写脚本的时候,不想引入太多依赖就这么用

96

#8楼 @southwolf #13楼 @huacnlee

我看见 param: :test 一定会改回 =>. ruby程序猿爱 hash rocket 必须超过Haskell程序猿爱λ

96

我的强迫症是看见长的代码就一定要改成短的...

例如看见 :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
96

然后再改成

if current_user.respond_to?(message_type)
  @messages = current_user.send message_type
else
  redirect_to my_message_inbox_path(:inbox_messages)
end
96

textmate对很多强迫症有良好支持:

ctrl + ' 切换单双引号 ctrl + : 切换字符串和符号 ctrl + [ 切换花括号和 do block opt + cmd + ] 对齐等号 ...

8

喜欢修warning..

410

强迫自己排版代码。

96

#19楼 @hooopo 这个。我写C的时候有空也喜欢。但一般不折腾。。

310

强迫排版

96

和楼主一样

1

#19楼 @hooopo 发现了……

474

#3楼 @huacnlee 只要看到unless我就会强迫把它翻译成if not ,好纠结。所以后来很少用它了。还有ctrl+s是必备的。囧

594

喜欢 每修改一点代码,就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

......看到任何感觉不爽的代码,就想改!.......

F46600

当一个sql表中有一个字段是remark(备注)字段时,总是要纠结一下,应该是用varchar类型呢,还是text类型。每次都这样。

366

看到

STATUS = ["a", "b","c"]

都要改成

STATUS = %w[a b c]
96

同一楼。。。每次运行前和 结束前 先不停地保存好几遍 。。。等自己反应过来 就已经保存了4-5遍了。。。

273

Ctrl+s , 空格 ,代码格式,不对齐不舒服!

239

我喜欢抖脚。

200

‘排版’ + 代码优化

96

在编写 Ruby on Rails 代码的时候,总是想着/寻觅着 C++ on Rails 的实现,总是看着没有()的函数别扭。

8

#28楼 @allenwei 哈 看到twitter上还有人问有没有类似%w[a b c],但是返回[:a :b :c]的写法

8

#31楼 @hlxwell ...........

8

#26楼 @ery 合并commit好高级呀 我还没有学会.........

8

#27楼 @qichunren text啊 这种事情我都不纠结了 真存在性能问题就把remark字段分出去

8

#3楼 @huacnlee unless不会混乱 会混乱的是unless else

F46600

又想起一个,修改了一处view,就立刻要到浏览器中刷新看一下,一小处也要这样

686

俺最喜欢 敲空格键 写完一个文件 再敲一次

96

git st,即使自己知道文件的修改情况了 -_-!

562

遇到case when的时候习惯替换成hash, 如果可以的话

96

#31楼 @hlxwell 好像麦兜也喜欢抖脚

8

#41楼 @ilstar 哇 我也是唉 和习惯性敲ls一样.........

需要 登录 后方可回复, 如果你还没有账号请点击这里 注册