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

1
“Çıkış (-1)” nereden geldi?
Ben kullanmanızı öneririz internette eski yazılıma ve kötü öğreticiler bir sürü görmek exit(-1), return -1"anormal fesih" temsil etmek veya benzer. Sorun en azından POSIX’de -1hiç olmamıştı ve geçerli bir durum kodu değil. man 3 exitgöstermektedir exit()döndürür değerini status & 0377, yani ebeveyn -1olur 255. POSIX dışı sistemlerde, EXIT_FAILUREtaşınabilirlik için önerilir. …

7
Veritabanında bit maskesi kullanmanın avantajları ve dezavantajları
Çok uzun zaman önce meslektaşımla konuştum ve kesinlikle bit maskeleri kullanmaya karşı çıktı çünkü veritabanında depolanan tüm değerleri anlamak zordu. Kanımca, örneğin mevcut kullanıcının rollerini belirlemek için bunları kullanmak her zaman kötü bir fikir değildir. Aksi halde, ayrı bir tabloda saklamanız gerekir, bu da bir JOIN daha ekleyecektir. Yanılıyorsam bana …

5
Çevrimiçi kod barındırma yapmalı mıyız?
İş yerimde iyi bir kaynak kontrolü ve proje yönetimi çözümü arıyoruz ve bir GitHub organizasyonu ve özel depolar oluşturmayı önerdim. GitHub'u birçok nedenden dolayı seviyorum, ancak bu GitHub ile ilgili değil (aslında meslektaşlarım rakip platformlar lehine puanlar sunacaklar) - özel kodumuzu çevrimiçi depolamakla ilgili . Bunun iyi bir fikir olup …

7
.NET'te DI uygulamanın "doğru" yolu nedir?
Bağımlılık enjeksiyonunu nispeten büyük bir uygulamada uygulamak istiyorum ancak bu konuda deneyimim yok. Birlik ve Ninject gibi mevcut kavramı ve birkaç IoC uygulaması ve bağımlılık enjektörleri çalıştım. Ancak, beni rahatsız eden bir şey var. Uygulamamda örnek oluşturmayı nasıl organize etmeliyim? Düşündüğüm şey, birkaç belirli sınıf tipi için nesne oluşturma mantığı …

4
GitHub akışında, özellik dalını başka bir özellik dalına dayandırmak doğru olur mu?
Projemizde GitHub Flow'u kullanıyoruz ve çoğu zaman ustadan yeni bir özellik dalı açıyoruz, orada bazı işler yapıyoruz, bir PR açıyoruz, kodu gözden geçiriyoruz ve tekrar usta olarak birleştiriyoruz . Ancak şu anki çalışmam, üzerinde çalışmakta olan bir başka konuya bağlı feature-branch-A. Şubemi başka bir şubeden yaratmak mı yoksa GitHub Akışının …
22 git  github  gitflow 

3
Bilişsel yükü azaltmak için kodun ardındaki amaç “aptalca” mıdır?
Birine kodu yazma şeklinin anlaşılmasını zorlaştırdığını ve yeniden düzenlerseniz okunması daha kolay olduğunu açıklamaya çalışıyorum. Ben sürüyorum bu kod tarzı genellikle 'deyimsel' kod 'denir. Ancak deyimsel kod ifadesi , insanların kodlama stillerini değiştirmelerini sağlamak için harika bir motivasyon olmayan ahlaki doğruluk bagajını da beraberinde getirir . Bunu söylemenin daha olumlu …
22 idioms 

2
Yazılım sürüm numaralarını VCS'de saklamak iyi bir uygulama mıdır?
Gibi bir ürün sürümü, v1.0.0.100yalnızca yazılımın benzersiz bir üretim sürümünü değil, aynı zamanda söz konusu ürün için özellik kümelerini ve düzeltme aşamalarını tanımlamaya yardımcı olur. Şu anda bir ürünün nihai paketini / derlemesini / ikili sürümünü korumanın iki yolunu görüyorum: Sürüm Kontrolü Bir yerde bir dosya sürüm numarasını saklar. Sürekli …

5
Çöp kullanıcılarını nasıl yönetebilirim?
Umarım birçok kullanıcıya sahip olacak bir sistem yarattım. Veritabanımızın, yüksek talep gören kullanıcı adlarını alan çöp kullanıcılarını doldurmasından korkarız, ya da sadece kayıt olur ve bir daha geri gelmezler. Bunun yaygın olduğunu biliyorum, 3 google hesabım olduğu için bunu kendim yapıyorum, ancak yalnızca 1'i kullanıyorum. Büyük bir web sitesi çöp …

8
Builder deseninin ekibimde kullanımını nasıl teşvik edebilirim?
Bizim kod temeli eski ve yeni programcılar, benim gibi, hızla bunu yapmak öğrenmektir bitti yolu bütünlüğü uğruna. Bir yerden başlamak zorunda olduğumuzu düşünerek, bir veri tutucu sınıfını yeniden yansıtmak için kendime verdim: Setter yöntemleri kaldırıldı ve tüm alanları yaptım final(aldığım final"aksiyomatik olarak " iyidir ") Belirleyiciler, yalnızca kurucuda kullanıldı, göründüğü …


4
Neden sadece parametrelenmemiş sorgular bir hata döndürmüyor?
SQL enjeksiyonu çok ciddi bir güvenlik sorunudur, çünkü büyük ölçüde yanlış anlamak çok kolaydır: Kullanıcı girişi içeren bir sorgu oluşturmanın bariz ve sezgisel yolu sizi savunmasız bırakır ve bunu azaltmanın Doğru Yolu parametreleştirilmiş olarak bilmenizi gerektirir önce sorgular ve SQL enjeksiyonu. Bana göre bunu düzeltmenin açık yolu bariz (ama yanlış) …
22 security  sql  rdbms 

3
Yaratma sırasında değişken olan ancak daha sonra değiştirilemez olan üyelerle sınıf
Nesnelerin bir koleksiyonunu oluşturan bir algoritmaya sahibim. Bu nesneler yaratma sırasında değişkendir, çünkü çok az ile başlarlar, ancak algoritma içindeki farklı yerlerde verilerle doldurulurlar. Algoritma tamamlandıktan sonra nesneler asla değiştirilmemelidir - ancak yazılımın diğer bölümleri tarafından tüketilirler. Bu senaryolarda, aşağıda açıklandığı gibi sınıfın iki versiyonunun olması iyi bir uygulama olarak …
22 c# 

2
Özellik sahipliği iyi bir uygulama mıdır?
Son zamanlarda şirketimde, bir geliştiricinin bir özelliğe odaklanması (ve sadece bir tanesine) odaklanması önerildi. Bu, geliştiriciyi normal takım rutininin dışında bırakmak, başka sorumluluklardan (toplantılar vb.) Çıkarmak gibi bir şey anlamına gelir ve bu kişi, özellikten, teknolojiden akıllıca "tek" sorumlu olur. Kayıt için, SAFe içinde SCRUM kullanıyoruz ve her ekip için …


4
Git “Yeniden Yapılanmanın Altın Kuralı” çok mu gerekli?
Geçtiğimiz günlerde GIT'deki özellik branşlarının yeniden yaratılması stratejisine kesinlikle karşı çıkan insanlarla bir tartışma yaptım. Rebase'ı yalnızca yerel, özel dallar için kullanmak kabul edilmiş bir kalıp gibi gözüküyor, ancak aynı özellik ve dalda çalışan birkaç kişi varken, "Sözde Yeniden Yapılanmanın Altın Kuralı" (buradaki gibi: https) : //www.atlassian.com/git/tutorials/merging-vs-rebasing/conceptual-overview ) Bu konuda …
22 git 

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.