2013-02-06 47 views
0

在處理不同的項目,不同的人員和使用不同的框架時,您經常會努力使您的代碼符合其慣例。一些團隊對變量/方法/類的命名以及其他事情圍繞該主題進行神聖戰爭的其他事情變得非常嚴格。我理解他們,我完全支持,但作爲任何開發人員,我有我自己的偏好,我希望我可以舒適地編碼。這讓我想到是否有一個簡單的解決方案。自動轉換編碼約定

是否有任何工具或編輯器可以自動轉換代碼以遵循不同的標準?我想不可能有這樣的智能工具,將支持命名轉換,所以我確定這一說法,但我真的希望看到

foreach($lala as $lalala) { 

,並聲明不

foreach($lala as $lalala) 
{ 

也是如此:

if(I_LIEK_COOKIES) { 
    eat_cookie(); 
} else { 
    toss_cookie(); 
} 

,而不是

if (I_LIEK_COOKIES) { 
    eat_cookie(); 
} 
else 
{ 
    toss_cookie(); 
} 

(注意圓括號和括號之間的空格)

我甚至不會提及空格/製表符,我可以在我的IDE中使用快捷方式將其轉換,但它會很棒。

所以我想獲得個性化的東西是括號之間

  1. 空格就行結束或新的生產線
  2. 鬍子括號
  3. 選項卡/空格,每個標籤的空間
  4. 一貫重視鬍子括號任何如果/ ifelse /其它/爲/的foreach等

一些額外的人禾ULD欣賞:

  1. Line ending style
  2. 刪除就行結尾多餘的空格(如崇高文字2可以節省做,但會爲其他的IDE /編輯器是巨大的)

完美的工作流程會是這樣的:

  1. 我拉從混帳
  2. 的代碼被轉換到我的風格
  3. 我的代碼的東西
  4. 我承諾,推動
  5. 一切之前得到推動(或者甚至COMMITED)代碼將被轉換爲約定的風格

當然,有人可能不希望使用git,那麼它在打開和保存文件後會簡單地進行轉換,但據我所知,使用某種工具不可能在IDE /編輯器之外進行。

有人偶然發現過類似的東西嗎?找不到任何地方,但選項卡/空間轉換。

P.S.我想提一提我正在使用PHP/JS,所以它的優先級很高,但我在業餘時間使用其他語言編寫代碼。

+0

這將以淚結束。測試完成後自動更改代碼是一件壞事。我建議你將你的編輯器設置爲在加載時格式化代碼,然後提交它。 – thekbb

回答

1

您可以在每個項目的版本控制庫中存儲配置(例如vim .vimrcs,Eclipse首選項等)。

但是,我認爲這是一個很大的問題。轉換代碼時推/拉到/從存儲庫。如果有人報告你的代碼存在問題(例如,第100行的例外情況),那麼在從存儲庫中提取代碼時轉換代碼會給你一個不同的第100行。我不認爲如果不處理確切的代碼就可以實際運行你的同胞正在與之合作。

+0

是的,這是一個減號,但我會通過搜索未經修改的代碼來解決這個問題。 eclipse和(我建議)其他配置不會轉換代碼時打開:( –