Kendimi seçtiğim metin düzenleyicimi (vim, nano, gedit, zehirinizi seçin) herhangi bir IDE geç) çok daha sık kullanıyorum.
Benim ide kısayolları tozlu fark ettikten sonra bu düşünmeye başladı ve merak: bir IDE bir metin editörü yerine sizin için ne haklı ?
Bu nedenle, bir IDE kullanarak ve yalnızca bir düzenleyiciye güvenerek değil için hangi mantığı kullanırdınız?
I: entegrasyon. İyi bir metin editörü kod yazmak için güzel olabilir, ancak programlamanızın çoğu yazmak için harcanmaz; test ve hata ayıklama için harcanır ve bunun için metin düzenleyicinizin derleyiciniz ve hata ayıklayıcı ile entegre olmasını istersiniz. Bu bir IDE'nin en büyük gücü.
Bunlar en sevdiğim IDE, IntelliJ, Java, PHP, Javascript, HTML, hatta ActionScript için kullanmayı sevdiğim özellikleridir.
Ctrl+clickbir işleve, değişkene, tanımına gitmek için yazın. (IntelliJ yukarıdaki dillerin hepsinde çok iyidir)
Ctrl+spacesürekli ihtiyacım olan sınıf veya yöntem adını doldurmak için. Bu, ton kodlamayı hızlandırır ve hatta ihtiyacınız olan bir şeye bulunduğunuz bağlamdan erişilemediğinde hataları oluşmadan yakalamanıza yardımcı olur. IntelliJ bile kısaltmaları genişletmenize yardımcı olun - NPE yazın,
Ctrl+spaceve "NullPointerException", "NoPageError" vb. gösterilecek. İsabet
Alt+enter_
importotomatik olarak eklemek için de gerçekten güzel.
Verebileceğiniz kod renklendirme gibi şeyler, ancak iyi kod renklendirme çevre görüşü gibidir - tam Word'ü tanımlamak için bu ekstra saniyeyi almadan önemli şeylere odaklanmanızı sağlar.
IntelliJ ayrıca
Ctrl+space değişken adları önermek için. Java'da yeni bir EventMessageItem değişkeni bildirir ve
Ctrl+space, "eventMessageItem", "eventMessage", "item" vb. önerecektir.
Tüm bunlar bana yolumu kodum ve mimarim hakkında düşünmek için daha fazla zaman veriyor ve biçimlendirmeyi düzeltmek, dosya sistemi ile uğraşmak, kopyayı düzeltmek hakkında daha az düşünmek -ve-yapıştır hataları, uygulamalar arasında geçiş yapma, belgelerin takibi vb. Bu tür verimlilik artışlarına nasıl hayır diyebileceğinizi bilmiyorum.
IDE kodunuzu bir editörden çok daha iyi anlıyor. Bu, örneğin, Java bir Tanrı gönderimi,
[To the IDE] You had me at intellisense/autocomplete
Üretkenlik. Mantıklı olan başka bir gerekçe var mı? Benim için, programlama sırasında gerçekleştirdiğim birçok işlevi merkezileştiren iyi tasarlanmış bir IDE) - kod oluşturma ve düzenleme, kaynak kontrolü kullanma, hata ayıklama, proje yönetim araçlarıyla etkileşim kurma, iletişim kurma diğer programcılar, belge oluşturma, otomatik testler yapma - üretkenliğimi azaltan süreç sürtünmesini önemli ölçüde azaltır.
Ayrıca, her bir aracı ayrı ayrı nasıl kullanacağımı bilmem gerekmiş gibi görünsem de, bunu yapmak istemiyorum. En azından benim için, sağ fare tıklaması bir CLI açmak ve yazmak için sonsuza kadar tercih edilir.
Ben çok kullandım, ama tekrar tekrar döndüğüm IDE Visual Studio, Wing IDE ve NetBeans vardır. Tüm programlama zaman harcadığım önemli bir değer katmak.
Tarihsel olarak, IDE'ler tek görevli bir bilgisayarda benzersiz kolaylıklar sağlamıştır. İlk C derleyicim edit-compile-run döngüsünde aşağıdaki adımları gerektirdi:
cP/M sistemimde. (Bir toplu iş programı disk sürücülerim daha büyük olduğu için bunların çoğunu otomatik hale getirebilirdim.)
Turbo Pascal'ı aldığımda, derleyici ve hata ayıklama sırasında editörü kullanılabilir tutabilmekten çok mutlu oldum.
Bence, IDE'leri ilk etapta popüler yapan şey bu.
LISP'de kod yazarsanız Emacs, yöntem parametrelerine ve otomatik tamamlamaya bakmak gibi Intellisense benzeri özelliklere sahiptir, bu nedenle orijinal IDE olduğunu söyleyebilirsiniz. Bir programı birden fazla görev için kullanabilmek de güzeldir (genel olarak düzenleme, Kabuk/komut istemi, haber okuma).
Genel olarak, editör vs. IDE soru programlama diline bağlı görünüyor. Gördüğüm kadarıyla, Ruby ve Haskell kodlayıcıları, örneğin, favori metin düzenleyicisini tercih ediyor gibi görünüyor.
birkaç isim
Yanıtın, hangi programlama dilini kullandığınıza ve ne kadar iyi olduğunuza bağlı olacağını düşünüyorum. Java an IDE gibi ciddi bir şey yapıyorsanız şarttır. JS veya Ruby IDES fazla kullanılmıyor.
Notepad ++ ve geliştirmelerim için bir dizi Shell betikleri (yedeklemeler, git taahhütleri) kullanıyorum ve mükemmel çalışıyor.
"Editörler" lehine bazı argümanlar:
Çalışmak için her gün bir IDE kullanıyorum, aksi takdirde Java/C # yazmak zordur.
(2) ile karşılaştırıldığında (3): Temelde yalnızca dosyaları uzaktan düzenleme (ssh/uzak masaüstünde) ve uzak bir sunucunun yapılandırmasında veya dosyalarında minimum değişiklikler yapma seçeneği.
IDE test/hata ayıklama/entegrasyon ve KEDIT'i düzenleme için kullanıyorum çünkü IDE düzenleme yeteneklerinde ciddi bir eksiklik var.
.NET IDE harici düzenlemeleri tanıdığı için, tek yapmam gereken düzenleyiciye kaydetmek ve kaynağı yeniden yüklemek için Sor'u kabul etmektir. hata ayıklama yetenekleri aynı anda.
Diğer IDE'ler için KEDIT'i şablon işlemci ve kaynak arama programı olarak kullanıyorum ve bu kaynağı IDE'ye kopyalayıp yapıştırıyorum.
Elbette dilinize bağlı olarak, bazı IDE'ler görsel Form/Pencere tasarımcılarını da içerir.
Belirtilmesi gerekmekle birlikte, bir programcının metin düzenleyicisi ile bir IDE iyi tanımlanmış bir çizgi değildir.) Birçok editör derleme, kod tamamlama, hata ayıklama vb. İşlemek için genişletilebilir.
IDE için:
- gelişmiş özellikler kutudan çıkarılmış.
- bazı özellikler çerçeveniz için o kadar özel ki editörlerin eşdeğeri yok.
Editör için:
- Ellerini klavyede tutmak.
- geliştirme ortamınız tüm sistemlerde aynı
- editörünüz için daha iyi senaryo yazımı
- IDE bazı özellikleri harici araçlar veya komut dosyalarıyla kullanılabilir. (intellisense, go tanım, referansları bul)
Kısa öğrenme eğrisi. Bu kadar.
Gerçekten tavsiye ederim tek hata ayıklayıcı. An IDE gerçekten eklenmiş başka gubbin yükü olan bir düzenleyicidir, ancak Komut İstemi'ne make (veya yukarı ok + enter) yazarak derleyebiliyorsanız, need bir IDE Explorer'da sağ tıklayarak ve doğru menü öğesini seçerek SCM'ye bağlanabiliyorsanız IDE'ye ihtiyacınız yoktur.
Şimdi bazı insanların yeniden düzenleme desteği (ilk kez kodunuzu yazın :)) veya bazı entegre GUI tasarımcısı (ancak o zaman bile, Visual Studio'yu kullanarak VS'de crappy XAML desteğini değil, GUI çalışmamı yapmak için İfade kullanıyorum) ) ve birçok kişi ihtiyaç intellisense ve autocomplete (özellikle Java ve C # godallmightlylong adları olan ayrıntılı diller için)).
Ama benim için, GUI hata ayıklayıcısı IDE'yi kullanmanın tek gerçekten iyi nedenidir. Hala bir 'komut satırı' hata ayıklayıcısı (iyi, windbg) kullanıyorum ama günlük, VS yerleşik olduğunu.
Bir IDE'nin faydaları vardır. Tüm diller kapsamlı bir IDE ölçekleri gerçekten bahşiş etmek için değildir veya söz konusu bir dil için bir tane oluşturmak yasak olabilir.Neden IDE istemesiniz?
Sorun, tüm dillerin kapsamlı bir IDE'den gerçekten büyük bir verimlilik kazancı sağlaması değildir. Yaptığım bazı işler için IDE'ler kullanıyorum (Java, C #) ama diğerleri için değil (Python, Ruby, Coldfusion). Her şey gerçekten dengeleyici bir eylem. Bazı diller için bu kadar kapsamlı bir paket gerekmez.
Her biri için IDE'ler var mı? Elbette. Her zaman birine ihtiyacınız var mı? Pek sayılmaz.