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


7
Theseus Gemisi GPL'ye başvurdu - Tüm türev bölümlerini değiştirirsem programımı yenileyebilir miyim?
Bir GPLv2 programını tercüme ettim , ancak tasarlandığı gibi genişletmenin ve önemli bölümlerini yeniden yazmanın zor olduğunu gördüm . Program şimdi yapısal olarak tamamen farklı, ancak kullanımda birkaç sözlü çeviri işlevi var.CPython Theseus Paradox Gemi (Wikipedia'dan belirtildiği gibi) "tüm bileşenleri yerini etti bir nesne temelde aynı nesne kalır mı sorusunu …
99 licensing  gpl 

5
Zaten soyut sınıflarımız varken neden Java 8'deki arayüzlere varsayılan ve statik yöntemler eklendi?
Java 8'de, arabirimler uygulanmış yöntemler, statik yöntemler ve "varsayılan" yöntemler (uygulama sınıflarının geçersiz kılması gerekmeyen) içerebilir. Benim (muhtemelen saf) görüşüme göre, bu gibi arayüzleri ihlal etmeye gerek yoktu. Arayüzler her zaman yapmanız gereken bir sözleşme olmuştur ve bu çok basit ve saf bir konsepttir. Şimdi birkaç şeyin karışımı. Bence: statik …

14
Derleyici optimizasyonlarına dayanan kod yazmak kötü bir uygulama mıdır?
Bazı C ++ öğelerini öğreniyorum ve genellikle işlev içinde oluşturulan işlevlerden büyük nesneleri döndürmek zorunda kalıyorum. Referansa göre bir geçiş olduğunu, bir işaretçi ve bir referans tipi çözümleri olduğunu biliyorum, ancak C ++ derleyicilerinin (ve C ++ standardının) bu büyük nesneleri bellekten kopyalamayı engelleyen dönüş değeri optimizasyonuna izin verdiğini de …
99 c++  performance 

12
İstisnaların yalnızca istisnai durumlarda kullanılması gerektiği söylendi. Davamın istisnai olup olmadığını nasıl bilebilirim?
Buradaki özel durum, kullanıcının bir dizgeyi uygulamaya geçirebilmesidir, uygulama onu ayrıştırır ve yapılandırılmış nesnelere atar. Bazen kullanıcı geçersiz bir şey yazabilir. Örneğin, girişleri bir kişiyi tanımlayabilir, ancak yaşlarının “elma” olduğunu söyleyebilirler. Bu durumda doğru davranış işlemi geri alır ve kullanıcıya bir hata olduğunu bildirir ve tekrar denemeleri gerekir. Girişte bulabildiğimiz …

12
TDD uygularsam özel yöntemlerden kaçınmalı mıyım?
Sadece şimdi TDD öğreniyorum. Anladığım kadarıyla özel yöntemler denenemez ve endişelenmemeli, çünkü genel API bir nesnenin bütünlüğünü doğrulamak için yeterli bilgi sağlayacak. OOP'yi bir süredir anladım. Özel yöntemlerin nesneleri daha kapsüllenmiş hale getirdiğini, böylece değişime ve hatalara karşı daha dirençli hale getirdiğimi anlıyorum. Bu nedenle, varsayılan olarak kullanılmaları ve yalnızca …

19
Küçük Bir Geliştirici Mentor nasıl
Bu başlık biraz geniş, ancak sorumu doğru bir şekilde sormadan önce biraz bilgi vermem gerekebilir. Burada da benzer soruların sorulduğunu biliyorum . Ama benim durumumda, birisine mentorluk yapmam mı gerektiğini yoksa kişinin yazılım geliştiricisi olmak için uygun olup olmadığını sormuyorum . Yargılamak için benim yerim değil. Bana tam olarak sorulmadı, …
99 culture  mentor 

6
Java yığın ve yığın bellek
Anladığım kadarıyla, Java'da yığın belleği ilkelleri tutar ve yöntem çağrıları yapar ve yığın belleği nesneleri depolamak için kullanılır. Diyelim ki bir sınıfım var. class A { int a ; String b; //getters and setters } aSınıftaki ilkel nerede Asaklanacak? Yığın belleği neden hiç yok? Neden her şeyi yığında saklayamıyoruz? Nesne …

8
'\ N' ve '\ r \ n' arasındaki fark
Evet, '\n'Windows için iki karakter sırası varken UNIX'te yeni bir satır yazdığını biliyorum '\r\n'. Bütün bunlar teoride çok hoş, ama benim sorum neden ? Neden satır başı karakteri Windows’da fazladır? UNIX bunu yapabiliyorsa \nneden bunu yapmak için Windows iki karakter gerekiyor? David Beazley'in Python kitabını okuyorum ve şöyle diyor: Örneğin, …



11
Sahte nesneler kullanırken birim testleriyle ilgili bağımlılık sorunlarını nasıl tespit edersiniz?
X sınıfınız var ve X1 davranışını doğrulayan bazı birim testleri yazıyorsunuz. X'i bir bağımlılık olarak alan A sınıfı da var. A için birim testleri yazdığınızda, X ile alay edersiniz. Başka bir deyişle, A birim testi sırasında, X'in alay davranışını X1 olarak ayarlarsınız (varsayılır). Zaman geçiyor, insanlar sisteminizi kullanıyor, değişmesi gerekiyor, …

6
<b> ve <i> etiketleri neden kullanımdan kaldırıldı?
Bu soru benim kolej sınıflarımdan birinde ortaya çıktı. Profesör sadece daha açıklayıcı oldu cevabı verdi ama o kadar olsa görünüyor &lt;b&gt;ve &lt;i&gt;anlamlarını oldukça açık ve yazmaktan daha kolaydır &lt;strong&gt;ve &lt;em&gt;. Bu etiketlerin kullanımdan kaldırıldığına dair resmi argümanlar neydi?
98 html  deprecation 

9
Bir Java programını 'yerli' yapmak neden zor?
Java uygulamalarının çoğu, C / C ++ uygulamalarıyla aynı görünmez. Swing, farklı bir görünüme sahip olmak amacıyla tasarlanmış olabilir, ancak okuduklarım temelinde, örneğin SWT 'yerel görünmeye' çalıştı ve başarılı olamadı. Sorum şu: Java dilinin geliştiricileri için, yerel GUI'lerin görünümünü tam olarak kopyalayan bir GUI sistemi tasarlamak neden bu kadar zor …
98 java  gui 

7
Neden Kontrolün Tersine Çevirilmesi bu şekilde adlandırılıyor?
Kelimeler invertya controlda hiç kullanmadığımı tanımlarda Kontrol Tersini Tanımlamak için kullanılmıyor. Tanımlar Vikipedi kontrolün ters çevrilmesi (IoC) burada nesne birleştirmenin bir montajcı nesne tarafından çalışma zamanında bağlandığı ve tipik olarak statik analiz kullanılarak derleme zamanında bilinmediği, nesne yönelimli programlama anlamında ifade edilen bir programlama tekniğidir. ~ http://en.wikipedia.org/wiki/Inversion_of_control Martin Fowler Denetimin …

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.