Yazılım Mühendisliği

Sistem geliştirme yaşam döngüsü içinde çalışan profesyoneller, akademisyenler ve öğrenciler için soru-cevap

9
Neden bir kütüphane klasörü yerine paket yöneticisini tercih edersiniz?
Statik bir kütüphane klasörünün ve paket yöneticisinin artılarını ve eksilerini düşündüğümde kütüphane klasörünün daha iyi bir yaklaşım olduğunu düşünüyorum. Bir kütüphane klasörü ile görüyorum artıları: Paketleri yönetmek için harici bir araca gerek yok. İnşa etmek için internet bağlantısı gerekmez. Daha hızlı yapı (paket kontrolü yok). Daha basit ortam (daha az …

7
Neden bu kadar çok proje “git birleştirme” yerine “git rebase” ı tercih ediyor?
Bir DVCS kullanmanın avantajlarından biri, düzenleme-birleştir-birleştir-birleştir iş akışıdır (genellikle CVCS tarafından uygulanan düzenleme-birleştir-birleştirmeyle ). Her benzersiz değişikliğin, birimlerden bağımsız olarak depoya kaydedilmesine izin vermek, DAG'ın projenin gerçek soyağacını doğru şekilde yansıtmasını sağlar . Neden bu kadar çok web sitesi "birleşme komisyonlarından kaçınmak" isteğinden bahsediyor? Birleştirme öncesi veya yeniden birleştirme sonrası …

7
Servis katmanı oluşturmak ne kadar önemlidir?
3 katlı bir uygulama geliştirmeye başladım (DAL, BL, UI) [temel olarak CRM, bazı satış raporları ve envanteri ele alıyor]. Bir meslektaşım bana servis katmanı modeline geçmem gerektiğini, geliştiricilerin deneyimlerinden servis desenlerine gelmem gerektiğini ve çoğu uygulamayı tasarlamanın daha iyi bir yaklaşım olduğunu söyledi. Uygulamayı gelecekte bu şekilde sürdürmenin daha kolay …

10
C neden Pascal'a üstün geldi? [kapalı]
Anladığım kadarıyla 1980'lerde ve belki de 1990'larda Pascal ve C, üretim dilleri kadar kafa kafaya kaldılar. Pascal'ın nihai ölümü sadece Borland'ın Delphi'yi ihmal ettiği için mi? Ya da kötü şans ya da Pascal ile içgüdüsel olarak yanlış bir şey (yeniden canlanması için herhangi bir umut var mı?) Gibi daha fazlası …

7
Amaçlanan davranışı yapmadan önce işlevlerin boş denetimler yapması gerekiyorsa, bu kötü tasarım mı?
Bu yüzden, bunun iyi mi yoksa kötü kod tasarımı mı olduğunu bilmiyorum, bu yüzden sormam daha iyi olur. Sık sık, sınıfları içeren veri işleme yöntemlerini oluşturuyorum ve elimden önce boş referanslar veya başka hatalar alamadığımdan emin olmak için çoğu zaman yöntemler üzerinde birçok kontrol yapıyorum. Çok basit bir örnek için: …
67 c#  design  validation 

16
TDD yardımcı olmadığında koddaki mantıksal hatalardan nasıl kaçınılır?
Geçenlerde bir olayın kaç yaşında olduğunu insan dostu bir şekilde gösteren küçük bir kod parçası yazıyordum. Örneğin, etkinliğin “Üç hafta önce” veya “Bir ay önce” veya “Dün” olduğunu gösterebilir. Gereksinimler nispeten açıktı ve bu teste dayalı gelişim için mükemmel bir durumdu. Testleri birer birer yazdım, her testi geçmek için gereken …

10
Downcasting'in doğru kullanımı nedir?
Alt yayın, bir temel sınıftan (veya arayüzden) bir alt sınıfa veya yaprak sınıfına döküm yapmak anlamına gelir. Bir System.Objectbaşka yayın türünden başka bir gruba yayın yaparsanız aşağı akış örneği olabilir . Downcasting popüler değil, belki de bir kod kokusu: Nesne Yönelimli doktrin, örneğin downcasting yerine sanal veya soyut yöntemleri tanımlama …

10
Modern web uygulama çerçeveleri URL rotalarını dosya sisteminden ayırmak için nasıl ve neden gelişti?
Yaklaşık 10 yıl öncesine kıyasla, URL yolunu dosya sisteminden ayıran yönlendirme stilini kullanarak çerçevelere doğru bir kayma olduğunu gördüm. Bu, genellikle bir ön denetleyici deseni yardımıyla gerçekleştirilir. Yani, daha önce ne zaman, URL yolu doğrudan dosya sistemine eşleştirildi ve bu nedenle diskte tam dosya ve klasörleri yansıtıyordu; günümüzde, gerçek URL …

9
90/10 program optimizasyon kuralının anlamı nedir?
Wikipedia göre, programın optimizasyonu 90/10 kuralı (İkinci paragrafa bakın “bir program yürütme zaman% 90 kod% 10 infaz harcanmaktadır” belirtiyor burada ). Bunu gerçekten anlamıyorum. Bu tam olarak ne anlama geliyor? Uygulama süresinin% 90'ı kodun sadece% 10'unu çalıştırarak nasıl harcanabilir? Peki ya kodun diğer% 90'ı? Zamanın sadece% 10'unda nasıl yürütülürler?


8
Programımın kullanım ömrü boyunca bir parça hafıza kullanmam gerekiyorsa, programın sonlandırılmasından hemen önce boşaltmak gerekli midir?
Birçok kitap ve derste, bellek yönetimi pratiğinin vurguladığını duydum ve kullandıktan sonra belleği boş bırakmazsam bazı gizemli ve korkunç şeylerin olacağını hissettim. Diğer sistemler için konuşamam (benim için benzer bir uygulamayı benimsemelerini kabul etmem makul olsa da), ancak en azından Windows'ta, Çekirdek tarafından kullanılan kaynakların çoğunu (tuhaf birkaç hariç) temizleme …

7
Bir programı geliştirme aşamasından yayınlamaya nasıl geçirirsiniz?
Bir noktada bir program geliştirilme aşamasındadır. Özellikler her zaman ekleniyor veya kaldırılıyor veya değiştiriliyor. Her sürüm bir prototipten başka bir şey değildir. Bu yüzden bu noktada süper temiz kod yazmak için fazla zaman harcamam çünkü, bir şeyin ne kadar süreceğini asla bilemiyorum. Elbette kod kalitesini belirli standartlarda tutmaya çalışıyorum ama …


10
Yalnızca kritik olmayan yazım hatalarını çözmek için bir taahhüt vermeye değer mi?
Koddaki kritik olmayan bir yazım hatası ile karşılaşırsam (örneğin, print (error) ifadesinde hatalı bir kesme işareti), bu hatayı çözmek için bir taahhütte bulunmaya değer mi yoksa basitçe mi bırakmalıyım? Spesifik olarak, bu kritik olmayan tipoları çözmenin değerine karşı taahhüt kütüğünün sakızlığını tartıyorum merak ediyorum. Onları çözmeye doğru eğildim. Ben bilgiçlik …

9
Hangi noktada bir dil “öğrendiğimi” söyleyebilirim?
Birkaç yıllık programlamamda Ruby'den C ++ 'a kadar herşeyle oyun oynamıştım. Sadece temel sözdizimini (Ruby) öğrenmekten, dil becerilerimi geliştiren birkaç büyük (benim için) projeyi tamamlamaya kadar her şeyi yaptım. Bu çeşitlilik göz önüne alındığında (ve gerçekten bir dili öğrenmek hiç durmazsa), bir dili ne zaman bildiğimi (veya öğrendiğimi) söyleyebilirim?

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.