2010-11-09 75 views
3

大約5年前我已經使用了visual basic。我可以在線而不是在函數頂部聲明變量嗎?

但是我已經開始使用delphi 5年前(當大多數開發人員從delphi跳到visual studio)時,delphi和vb一樣簡單,同時它又強又健。 Delphi自pascal以來有很多變化(例如:字符串必須以不同的方式在pascal中組合,而不是僅使用+),以便更快地編寫腳本。

但爲什麼在delphi中我們必須聲明var在頂部,當我爲一個過程編寫很多語句時,我必須向上滾動並聲明一個var並再次下來。 delphi是世界上最好的(某些時候是唯一的)最快速的'IDE'之一,但爲什麼他們沒有給予任何支持以在vb c#等任何地方聲明變量。

+2

Pascal就是這樣設計的,它比Delphi更加嚴格(即Pascal強制執行type/const/var序列,IIRC不允許像Delphi那樣混合它們)。你可能不喜歡它,但它被設計成具有明確的聲明並將它們與代碼分開。 – 2010-11-09 19:35:21

回答

16

有可能聲明var在使用代碼模板的過程的中間,並且在較新的Delphi版本中,Live模板也默認啓用該模板。

我只需輸入var,然後按CTRL + J並輸入名稱並鍵入IDE即可完成其餘操作。

對我沒什麼大不了的。

的活動模板由Mike Rozlog演示:

http://edn.embarcadero.com/article/40284

+0

永遠不會知道! :-)儘管如此,我仍然不會使用它,但大多數方法都足夠短,只需要向上滾動8行並在那裏添加var即可。 – 2010-11-10 12:31:34

+0

我也試圖保持我的方法簡短,但在實際實現代碼之前,您很少知道需要哪些變量,因此IDE的代碼模板函數有助於中斷程序員;)。 – 2011-01-15 06:49:59

15

如果你有滾動,你的方法是太長,可能需要進行重構。

這就是說,在最近版本的Delphi you can declare a variable without moving your cursor by using the refactoring system中。

+6

+1指出真正的問題。你應該努力使自己的功能:小,儘可能少的論據,只做一件事。該聲明的 – 2010-11-09 16:31:22

+0

-1根本不是真的。在一個項目中通常有很多程序是有意義的,比一個屏幕高。 – Andreas 2011-07-05 06:47:27

9

你問這個問題:「爲什麼他們不給予支持聲明變量的任何地方,就像在VB C#等」

這裏的答案:因爲語言設計者覺得聲明變量內聯是混亂而難以閱讀。如果所有變量都是在方法級別聲明的,則它們的聲明很容易找到,並且它們的類型很容易確定。他們認爲內聯聲明使追蹤變量及其類型變得困難。其他語言設計者傾向於聲明變量內聯的能力,但代碼和變量聲明之間的清晰分界是許多人更喜歡Pascal的原因之一。

+2

我認爲這可能是一個很好的論點,贊成在方法頂部聲明變量,但我不認爲這實際上是Delphi爲什麼繼承了Pascal聲明變量的原因。據我所知,這與語言設計決定有關,以便實現一種簡單的方法來實現快速單步驟自頂向下編譯器。 – Trinidad 2010-11-11 11:26:34

+0

@Trinidad - 你沒錯,編譯速度也是這裏的一個因素。 – 2010-11-11 18:57:11

+1

@Nick - 有些語言完全不需要聲明。變量是動態計算出來的。但是聲明它們更好,因爲編譯器可以正確地優化它們。 – lkessler 2011-07-05 04:44:05

10

甚至比Jens的Ctrl-J快捷鍵更好。

  1. 編寫代碼,例如:

    I := 0; 
    
  2. 注意,「我」有一個紅色波浪在它之下線(這意味着它是未申報)。

  3. 點擊「我」並鍵入快捷鍵:Shift + Ctrl + V鍵

  4. 最多會彈出通常將已找出正確的類型爲您聲明變量窗口。

  5. 如果需要更改類型並按回車關閉窗口。

我喜歡這個快捷方式並一直使用它。

+0

+1 IDE重構可能非常有用。 – 2011-08-29 15:26:52

+0

您可以從Shift + Ctrl + V開始,然後以更傳統的順序進行操作。謝謝! – 2017-05-30 17:20:05

相關問題