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

6
Neden yansıma kullanmalıyım?
Java’da yeniyim; Yaptığım çalışmalar sayesinde, yansıtmanın sınıfları ve yöntemleri çağırmak ve hangi yöntemlerin uygulanıp uygulanmadığını bilmek için kullanıldığını okudum. Yansımayı ne zaman kullanmalıyım ve yansıma ile başlatılan nesneleri kullanma ve geleneksel yöntemlerle çağrı yöntemleri arasındaki fark nedir?
29 java  reflection 

4
Haskell'de return-type- (only) -polymorphism iyi bir şey midir?
Haskell'de hiç tereddüt etmeyeceğim bir şey, geri dönüş tipi giriş türüyle belirlenemeyen polimorfik sabitleri ve fonksiyonları nasıl elde edebileceğinizdir. class Foo a where foo::Int -> a Bundan hoşlanmadığım nedenlerden bazıları: Referans şeffaflığı: "Haskell'de, aynı girdi verilirse, bir işlev her zaman aynı çıktıyı döndürür", ama bu gerçekten doğru mu? bağlamda read …



2
Açık kaynaklı bir çatalı yeniden adlandırmanın görgü kuralları nedir?
TestNG java test çerçevesi (Apache 2 lisansı) Github'ı kullanmak istiyorum, böylece ihtiyaçlarımı karşılamak için bazı küçük şeyler ekleyebilir / değiştirebilirim. Değişikliklerimin ana projede onaylanması veya başkalarının çatalımı kullanması pek mümkün değil. Bu hiçbir şekilde ana projeye bir rekabet olamaz. Şimdi, isimlendirme açısından, eser adını (testng-mycompany) veya versiyonunu (6.8.mycompany) değiştirmek istiyorum, …

9
Operatörden önceki / sonraki satır sonu [kapalı]
Sun'ın Java kodu konvansiyonu, operatörün önüne satır sonu koymayı önermektedir, diğer birçok kılavuz buna katılmamaktadır. Herhangi bir belirgin avantaj ve dezavantaj göremiyorum, bu yüzden bu tarzlardan birini diğerine kullanmanın avantajları var mı? String longVarName = a + b + c + d + e + f; vs String longVarName = …

3
İsteğe bağlı parametreler veya aşırı yüklenmiş yapıcılar
Bir uygulama yapıyorum DelegateCommandve yapıcı (lar) ı uygulamak üzereyken, aşağıdaki iki tasarım seçeneğiyle karşılaştım: 1: Birden fazla aşırı yükleniciye sahip olmak public DelegateCommand(Action<T> execute) : this(execute, null) { } public DelegateCommand(Action<T> execute, Func<T, bool> canExecute) { this.execute = execute; this.canExecute = canExecute; } 2: İsteğe bağlı parametreli yalnızca bir kurucuya …

7
Şirketimin şubeleri birleştirmesi yanlış mı?
Son zamanlarda dallanma ve birleşme ve SCM ile ilgili bir MSDN makalesine rastladım: Dallanma ve Birleşme Astarı - Chris Birmele . Makalede 'Büyük Patlama Birleşmesi' bir birleşme kaymazı olduğunu söylüyorlar: Big Bang Merge - gelişme çabasının sonuna kadar birleşen ve tüm şubeleri aynı anda birleştirmeye çalışan erteleniyor. Bunun, şirketimin üretilen …

4
Geliştirme sırasında farklı davranış türleri arasında geçiş yapmak için #ifdef kullanımı
Farklı davranış türleri arasında geçiş yapmak için geliştirme sırasında #ifdef kullanmak iyi bir uygulama mıdır? Örneğin, var olan kodun davranışını değiştirmek istiyorum, davranışı nasıl değiştireceğime dair birkaç fikrim var ve farklı yaklaşımları test etmek ve karşılaştırmak için farklı uygulamalar arasında geçiş yapmak gerekiyor. Genellikle koddaki değişiklikler karmaşıktır ve farklı dosyalardaki …

8
Metodoloji: Başka bir geliştirici için birim testleri yazma
Yazılım geliştirme ve birim testleri yazma hakkında düşünüyordum. Aşağıdaki fikri anladım: Bir çift geliştiricimiz olduğunu varsayalım. Her çift kodun bir kısmından sorumludur. Çiftin bir özelliği bir özellik uygular (kod yazıyor) ve ikincisi bunun için bir birim test yazıyor. Testler koddan sonra yazılır. Benim fikrimce birbirlerine yardım ediyorlar, fakat ayrı ayrı …

8
Eski kod temeli için kalite standartlarının düşürülmesine nasıl karşı çıkılır? [kapalı]
Burada hayal edemediğiniz kötü kodlu büyük bir eski kod tabanımız var. Şimdi bazı kalite standartlarını belirledik ve bunları tamamen yeni bir kod tabanında, ancak aynı zamanda eski kodlara dokunursanız yerine getirmek istiyoruz. Ve bunları zaten binlerce ihlal eden Sonar (kod analiz aracı) ile zorluyoruz. Şimdi tartışma bu mirası ihlalleri azaltmak …

6
Kişisel bir Python projesini serbest bırakılabilir bir kütüphaneye dönüştürmek
Programcı değil akademik bir öğrenciyim ve araştırmamı desteklemek için Python programlarını kendi kullanımım için yazmakta uzun yıllara dayanan bir deneyime sahibim. En son projem de benim kadar birçokları için faydalı olacak ve açık kaynak kodlu bir Python kütüphanesi olarak yayınlamayı düşünüyorum. Bununla birlikte, işleyen bir kişisel projeden başkaları tarafından acısız …

7
Bir sabitin değeri zaman içinde değişebilir mi?
Geliştirme aşamasında, aynı çalışmada sabit olması gereken ancak zaman içinde değiştirilmesi gerekebilecek belirli değişkenler vardır. Örneğin, a booleanhata ayıklama modunu işaret etmek için programda normalde yapmadığımız şeyleri yaparız. Bu değerleri sabit bir şekilde, yani final static int CONSTANT = 0Java'da içermesi kötü bir tarz mıdır ? Sabit bir sürenin çalışma …
28 const  constants 

6
Bir muteksin kilitli olup olmadığını neden kontrol edemiyorum?
C ++ 14 std::mutexkilitli olup olmadığını kontrol etmek için bir mekanizma atlamış görünüyor . Bu SO soruya bakın: https://stackoverflow.com/questions/21892934/how-to-assert-if-a-stdmutex-is-locked Bunun etrafında birkaç yol vardır, örneğin; std::mutex::try_lock() std::unique_lock::owns_lock() Ancak bunların hiçbiri özellikle tatmin edici çözümler değil. try_lock()Geçerli iş parçacığı mutex'i kilitledi, yanlış bir negatif döndürmek için izin verilir ve tanımsız davranışa …
28 c++ 

6
Neden G / Ç için beklememiz gerekiyor?
Disk işlemlerinin yavaş olduğu her zaman biliniyor ve neden yavaş olduklarını biliyoruz. Öyleyse buradaki soru, neden G / Ç için beklememiz gerektiği veya neden IOWait, vs. gibi bir şey olduğu? Demek istediğim, arka planda bazı G / Ç görevlerini yaparken, bilgisayarınızın temelde daha da yavaşladığını fark ettim, özellikle Linux kullanırken, …
28 cpu  io  operations 

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.