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
Tür çıkarımı için tradeoff nedir?
Görünüşe göre, tüm yeni programlama dilleri veya en azından popüler olanları, tür çıkarımı kullanıyorlar. Javascript bile çeşitli uygulamalar olsa bile çeşit ve tip çıkarımı elde etti (Acscript, typescript vb.). Bana çok yakışıyor ama bence herhangi bir takas var mı, neden Java diyelim ya da eski iyi dillerin tür çıkarımı yok …

9
TDD sadece teoride
Bir yıldan biraz daha uzun bir süre önce işten 9 ay ara verebilecek kadar şanslıydım. O zaman, C # becerilerimi geliştirmeye karar verdim. Bir sürü proje üzerinde çalışmaya başladım ve kendimi TDD'yi takip etmeye zorladım. Bu oldukça aydınlatıcı bir süreçti. İlk başta zordu, ancak zamanla daha fazla test edilebilir kod …


3
İyi bir genel tip sistem
Java jeneriklerinin bazı önemli yollarla başarısız olduğu yaygın olarak kabul edilmektedir. Joker karakterlerin ve sınırların birleşimi bazı ciddi olarak okunamayan kodlara yol açtı. Ancak, diğer dillere baktığımda, programcıların mutlu olduğu genel bir tip sistem bulamıyorum. Aşağıdakileri böyle bir sistemin tasarım hedefleri olarak kabul edersek: Her zaman kolay okunur tip bildirimleri …

7
İçeriği ilk oluşturan benim olduğumu garantilemek için web içerisindeki herhangi bir içeriği korumak için herhangi bir algoritma modeli var mı?
Birkaç yıl önce, belirli bir sistemde tam bir güvenlik açığı açıklayan bu korsan vardı (kim olduğunu hatırlamayın), ancak kimsenin bunun için kredi almadığından emin olmak için bir tür PGP anahtarı yarattı. O zaman anladığım şey, onu keşfeden kişi olmasını sağlamak için bir anahtar oluşturduğu, ancak gerçekte kim olduğunu açıklamadığı, sadece …

5
Javascript, HTML ve CSS Arasında Sıkı Birleşme: Daha Modern Bir Yaklaşım?
Javascript'i, öğeleri bulmak, veri depolamak ve olayları dinlemek için belirli seçicilere bağlı görmek çok yaygındır. Bu aynı seçicilerin stil için kullanıldıklarını görmek de yaygındır. jQuery (ve seçim motoru Sizzle), CSS tipi sözdizimine sahip öğelere referans vererek bunu destekler ve teşvik eder. Bu nedenle, bu tekniğin projeler inşa ederken 'öğrenilmemesi' (veya …
29 javascript  html  css  jquery 

3
C ++ 'daki boolean türü neden ++ destekliyor?
Operatör --, bool için mevcut değil , operatör için mevcut değil ++mi? C ++ 'da denedim ve sorumun başka bir dile uygulanıp uygulanmadığını bilmiyorum. Ben de bildiğim için memnun olacağım. Biliyorum , operatörü ++bir bool ile kullanabilirim . Herhangi bir bool'u gerçeğe eşit yapar. bool b = false; b++; // …

7
İstisnaları, hataları erken “yakalamak” için araç olarak kullanmak uygun mudur?
Sorunları erken yakalamak için istisnalar kullanırım. Örneğin: public int getAverageAge(Person p1, Person p2){ if(p1 == null || p2 == null) throw new IllegalArgumentException("One or more of input persons is null"). return (p1.getAge() + p2.getAge()) / 2; } Programım nullbu fonksiyona asla geçmemelidir . Asla niyetinde değilim. Ancak hepimizin bildiği gibi, …

2
Günümüzde ortak lisp eleştirilerinden hangisi hala geçerli?
In Common Lisp A Eleştirisi 1984 yılında Rodney A. Brooks ve Stanford Richard P. Gabriel tarafından yazılan, Common Lisp normallestirici komitesi tarafından tutulan bazı tasarım kararları tartışılmaktadır. Tartışmanın çoğu geçerli olmakla birlikte, şu anda mevcut olan teknolojiye atıfta bulunan ve bugün yanlış olan iki ifade vardır. Bu iki ifade: Herhangi …

15
Modern hesaplamanın yapıldığı günlerde, 'tipik iş uygulamalarında' - performans neden önemlidir? [kapalı]
Bu, bazılarınız için garip bir soru gibi görünebilir. Ben bir hobi Java programcısıyım. Birkaç oyun, müzik üreten bir AI programı, resim için başka bir program ve benzeri şeyler geliştirdim. Bu size programlama konusunda deneyimim olduğunu, ancak ticari uygulamaların profesyonel gelişiminde olmadığını söylemek içindir. Bu sitede performans hakkında çok fazla konuşma …

10
Java'da şablon "metaprogramlama" iyi bir fikir midir?
Son derece performansa duyarlı (saniyede milyon kere denir) birkaç işlevi olan oldukça büyük bir projede kaynak bir dosya var. Aslında, önceki bakım görevlisi, koşullamaları tek bir fonksiyonda kontrol etmek için harcanacak zamandan tasarruf etmek için, her biri çok az farklılık gösteren bir fonksiyonun 12 kopyasını yazmaya karar vermiştir. Ne yazık …

5
C ++ için stil kılavuzu [kapalı]
Şu an C ++ kodumda Google C ++ Stil Kılavuzunu kullanıyorum ve bundan çok memnun kaldım. Son zamanlarda bu kılavuzun çok kötü olduğu söylendi: Google tarafından dahili olarak kullanılıyor (bunu biliyordum), eski ve bazı çok kötü uygulamaları destekliyor. Bu yüzden başka bir kodlama stili kullanmak istiyorum. Hangi iyi ve oldukça …

10
Geçici kod sürüm kontrolü altına alınmalı mıdır ve nasıl?
İşte bazı geçici / yerel kod örnekleri. Kod temeli ile çalışmak için gereklidir, ancak bunun bir parçası olmak zararlı olacaktır: Proje dosyaları Mevcut PC'deki düzeni yansıtabilmek için yolların düzenlenmesi gerekebilir. Makefile'lar. Örneğin, optimizasyonun hata ayıklama sırasında kapatılması gerekebilir, ancak CI sunucusu için gerekli olmayabilir. Kirli çirkin hackler. Örneğin return 7, …

3
Dinamik diller için gerçek bir avantaj var mı? [kapalı]
İlk önce Java'nın şimdiye kadar kullandığım tek dil olduğunu söylemek istiyorum, bu yüzden lütfen bu konudaki cehaletimi affedersiniz. Dinamik olarak yazılmış diller, herhangi bir değişkene herhangi bir değer koymanıza izin verir. Örneğin, aşağıdaki işlevi yazabilirsiniz (psuedocode): void makeItBark(dog){ dog.bark(); } Ve ne pahasına olursa olsun içinden geçebilirsiniz. Değerin bir bark()yöntemi …

6
“Bir arayüze programlama” anlamak
"Bir uygulama yerine bir arayüze programlama" terimi ile çok karşılaştım ve sanırım ne anlama geldiğini anlıyorum. Ancak bunun faydalarını ve olası uygulamalarını anladığımdan emin olmak istiyorum. "Arayüze programlama", mümkün olduğunda, somut bir uygulamaya atıfta bulunmak yerine, daha soyut bir sınıf seviyesine (bir arayüz, soyut sınıf veya bazen bir tür üst …

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.