Tasarımcı araçları programlama deneyimini bozuyor mu? [kapalı]


10

Son zamanlarda, özellikle mevcut bazı MS araçlarına bakıyorum ve tasarımcı araçlarına ve sihirbazlara büyük bir odaklanmaya dikkat ediyorum. Sadece kullanıcı arayüzü geliştirme için değil, her şey için.

  • Entity Framework'te modeller var
  • RIA Hizmetlerinin DomainService sihirbazları var
  • İş akışı tüm iş akışı tasarımcısı şeylere sahip ... (Bilmiyorum, gerçekten kullanmadım)

Dahası var, ama sanırım bu fikri anlıyorsunuz. Birçok tasarım aracı var. Bunlardan bazılarını kullanarak şunu buluyorum:

Öngörülen kullanım durumlarının ötesindeki konuları karmaşıklaştırırlar

(yani tüm teknik demo videoları)

Son zamanlarda bu teknolojilerin bazılarını değerlendiriyorum ve onlarla çalışmaya çalışıyorum, sonunda tasarımcıların, modellerin ve sihirbazların benim için ne yaptığını tam olarak incelemek zorunda kalıyorum ... aksi takdirde gerçekten yapmaya çalışmam gerektiğinde kayboldum ne yaratıldığında.

Bu, aletle savaşmam ya da onun çıktısıyla yeterince savaşmam gereken bir durum haline gelir, böylece her şeyi onsuz kendim yapabilirdim - ve neler olup bittiğini daha güçlü bir şekilde anladım . Bunu özellikle silverlight tasarımcısı ve RIA hizmetleri etki alanı hizmet sihirbazı ile sinir bozucu buluyorum.

Kendimi "İç işleyişini anlamak ya da çıktısının yarısını kullanmak için yeniden yazmak zorunda kalırsam bu araç ne işe yarar?" Diye soruyorum.

O kadar hızlı değiller

Bu araçların satış noktası üretkenliği artırmaktır ve bu nokta aracı kullanarak zaman içinde değişebilir ve UI tasarımcıları için geçerli olmayabilir (yine de bazı durumlarda hala -> size gümüş ışık tasarımcısına bakıyorum) . Bazı kodları bir tasarımcıda ne olursa olsun sürükleyip bırakarak, yeniden boyutlandırabileceğim, taşıyabildiğimden çok daha hızlı bir şekilde hackleyebileceğimi fark ettim.

Kullanıcı arayüzü modelin önüne geçer

Belki de bu sadece benim, ama bir UML tasarım aracını anımsatan bir şey kullandığımda, her şeyin döşenmesi için daha fazla zaman harcıyorum, böylece çizgilerim kesişmiyor ve her şeyi ekranda görebildiğimden model olarak görebiliyorum başarmaya çalışıyorum.

Eğlenceli değiller

Bir yaşam için kodlama nedenimin yarısı, zevk almam. Onay kutularını tıklamak ve birleşik giriş kutuları seçmek ve sonra ortaya çıkan her şeyi düzeltmek eğlenceli değildir.

Yalnız görünmüyorum

Topluluk öyle görünmüyor ya bu araçları istiyorum. Şu anda düşünebileceğim en iyi örnek Entity Framework Code-First.

Yani soruyorum:

  1. Tasarım araçları aslında verimliliği artırıyor mu?
  2. Onlar eğlenceli katiller mi?
  3. 'Topluluk' aslında daha fazla tasarımcı aracı mı istiyor, yoksa satıcılar sadece bizim olduğumuzu mu düşünüyor?

Yanıtlar:


7

Benim tahminim iyi tasarım araçlarının verimliliği arttırması ve "eğlenceden" uzaklaşmamasıdır. Ancak, bu sadece bir tahmin çünkü henüz iyi bir tasarım aracına rastlamadım.

Ben şahsen tasarım araçları istemedim.


2
+1 Kesinlikle "henüz iyi bir tasarım aracıyla karşılaşmaktan" hoşlanıyorum. "gözbebeklerim arasındaki gri maddeden daha iyi" eklesem de.
Ken Henderson

2
+1 Sihirbazlar, yalnızca yaptıklarınız oluşturdukları modele uyduğu sürece yararlıdır. Çoğunlukla garip şeyler yapmak için para aldığım için, genellikle sadece yol alırlar. Şimdiye kadar gerçekten sevdim gibi tek tasarım aracı (bu Microsoft-fan olmayan bir şok için hazır olun) MS veritabanı grafik veritabanı ve sorgu üreteci oldu. İlişkisel veritabanları ve SQL'in ikisi de kavramsal olarak oldukça basit ve iyi tanımlanmış olduğundan, iyi çalıştı, bu nedenle tasarım aracı yapmak istediğiniz hemen hemen her şeyi işleyebilir.
Bob Murphy

Bir görevde size yardımcı olmak için inşa ettiğiniz her şey "iyi bir tasarım aracı" dır. Bu, editörünüzü, derleyicinizi, hata ayıklayıcınızı, kişisel kütüphanelerinizi vb. İçerir. Çoğu "payware" ile ilgili sorun, herkes için yeterince genel olması gerektiğidir, bu nedenle genellikle soruna iyi uymaz. Ve, güzel oynamak için asla uğraşmazlar! Unix felsefesini takip edin lütfen. MS'in duvarlı bahçe araç takımında olmak istemiyorum.
Spencer Rathbun

4
  1. Sanırım muhtemelen değişiyor. Oldukça deneyimsiz bir geliştiriciyseniz, tasarım araçlarını kullanmak muhtemelen yazmaktan daha verimlidir. Tasarımcı kullanarak VB6 günümün başlarında onu elle çalıştırdığımdan daha verimli olduğumdan oldukça eminim. Dikkate alınması gereken diğer bir şey, teknolojinin (en azından IDE'nin bunu nasıl sunduğu) el düzenlemesine nasıl katkıda bulunduğudur. VB6 ve .NET WinForms kesinlikle (ya da muhtemelen "oluşturulan" kod dosyasını (veya bir kısmını) düzenlemek istemezsiniz) WPF ve ASP.NET ile oldukça deneyimsiz bir geliştiricinin tasarımcı ama hızlı bir şekilde doğrudan XAML / ASP düzenleme mezun. Ne yaptığını öğrendikten sonra kesinlikle doğrudan biçimlendirme düzenlemek daha hızlı. EF v1.0 geri düşünerek,

  2. İşaretlemenin çalışmak eğlenceli olup olmadığına bağlıdır. WPF ve ASP (.NET) eğlenceli olabilir. VB6 / WinForms - hayır, oluşturulan kod bölümlerini gereğinden fazla düzenlemek istemiyor.

  3. Topluluğun açıkça yaptığını sanmıyorum. Her ne kadar yeni bir şey öğrenirken tasarımcı öğrenme parçalarında yutmayı kolaylaştırabilir.


2

her zamanki gibi, bağlıdır

Web hizmetlerini kullanarak ilk kez araştırdığımda Java'nın 50 sayfalık bir öğreticisi ve .NET'in bir sihirbazı vardı. Tahmin et hangisi kullanıldı?


1

Burada da aynı, tasarım aracı yok.

Ben veritabanı ERD kağıt üzerinde tasarlayın ve "tablo oluşturmak" ifadeleri veren bir dağıtıcı yazmak, bu şekilde irade ve yeniden inşa edebilirsiniz. Ayrıca veritabanı sürümlendirme için yardımcı olur.

11x17 (A3) kağıdın çok compelex sistemleri tasarlamak için harika bir yer olabileceğini düşünüyorum. İyi bir silgi ve kalem alın ( Staedtler'ı tercih ederim ).


1

Satıcı perspektifinden bakıldığında, tüm bu fantezi tasarımcı araçlarının indirimli / ücretsiz öğrenci lisanslarına benzer bir amaca hizmet ettiği görülmektedir. Fikir, minimum çaba ve maliyetle bir şeyler yaratmanıza izin vermektir . Bir kez yatırım yaptıktan sonra, başkalarının öğrenmek yerine becerilerini araçlarıyla genişletmeyi öğreneceğinize bahse girerler.

Bu, araçların meşru verimli kullanımları olmadığı anlamına gelmez. Olmalıdır oluşturulan kodu incelemek için değerli ve ondan öğreniyoruz. Ne yazık ki Ken Henderson'ın belirttiği gibi, kod genellikle okunamaz ve gelecekteki çalışmalar için şablon olarak kullanmak istediğiniz bir şey değildir. WCF Hizmetlerini Programlama'da , yazarın kodu elle nasıl yazacağını veya Visual Studio tarafından oluşturulduğunu açıkladığı çeşitli bölümleri hatırlatıyorum . Kaçınılmaz olarak, oluşturulan seçenek, harici kodun kaldırılması için bir takip bölümü gerektirir.


0

Tasarımcı araçları verimliliği gerçekten artırıyor mu?

Projeniz basit ve onlar için çok karmaşık olmadığı sürece olabilirler . Deneyimlerim, gerçek bir dünya problemini uygulamaya / çözmeye çalıştığınızda duvara vurursunuz.

Onlar eğlenceli katiller mi?

WF (İş Akışı) ve WPF burada eğlenceli ama aynı zamanda VS 2008 her 30 dakikada bir çöktüğünde.

'Topluluk' aslında daha fazla tasarımcı aracı mı istiyor, yoksa satıcılar sadece bizim olduğumuzu mu düşünüyor?

Son zamanlarda MS tarafından yayınlanan araçların çoğu, geliştiricileri korumaya yönelik umutsuz girişimler gibi görünüyor. Savaş şimdi akıllı telefon pazarında devam ediyor. Geliştiricilerin, MS, Google veya Apple'ın ücretini kim kazanacak?


0

Her zaman böyle olmuştur, gün içinde bile sadece sihirbazları nasıl tıklayacağını bilen geliştiriciler ve sihirbazların hangi kodu ürettiğini bilen ve uç durumlar için değiştirebilecek geliştiriciler arasında ayrım yapmak için kullandık.

Kendinizi keskin uçlardan kesmemeniz için kapakların altında daha fazla araç, sihirbaz ve tasarımcıya sahip olmanız, bilmek istemeyen veya genişliği olmayan geliştiriciler için bir avantajdır oluşturulan kodu anlama deneyim ve becerisi. Bilgisayarın sizin için yapmasını istediğiniz şey ile kendiniz için yapmanız gereken şey arasında tatlı bir nokta olduğunu hayal ediyorum, alternatif olarak tamamen bir forma blokları sürükleyip bırakarak dilleri programlama. (Eskiden böyle bir şey üzerinde etki alanına özgü bir ortam üzerinde çalışıyordum, kullanmak istemezdim!)

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.