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

4
Büyük veritabanlarında yanlış veri güncellemelerinden kaçınmak için izlediğiniz uygulamalar nelerdir?
Herhangi bir üretim dağıtımından önce verilen tipik bir tavsiye, önce DB'yi yedeklemektir. Bu şekilde, yeni güncellemede potansiyel veri kaybına veya mantıksal veri bozulmasına yol açabilecek bir sorun varsa, eski kayıtları karşılaştırmak ve düzeltmek için bir yedeğiniz vardır. Ancak, DB boyutu birkaç GBs olana kadar bu iyi çalışabilir. DB boyutu büyük …

3
Büyük dizileri doldurmadan büyük bir sorun üretmenin profesyonel yolu: C ++, dizinin bir kısmından boş bellek
Bir fizik simülasyonu geliştiriyorum ve programlamaya yeni başladığım için, büyük programlar (çoğunlukla bellek sorunları) üretirken sorunla karşılaşıyorum. Dinamik bellek ayırma ve silme (yeni / silme, vb.) Hakkında bilgim var, ancak programı nasıl yapılandırdığım konusunda daha iyi bir yaklaşıma ihtiyacım var. Diyelim ki çok büyük bir örnekleme oranıyla birkaç gün süren …
20 c++  data  memory  array  dynamic 

4
İşlevleri parametre olarak alan işlevler de parametreleri bu işlevlere parametre olarak mı almalıdır?
Sıklıkla kendime böyle görünen işlevleri yazarken buluyorum çünkü veri erişimine kolayca takılmama izin veriyorlar ve yine de hangi verilere erişileceğini belirlemek için parametreleri kabul eden bir imza sağlıyorlar. public static string GetFormattedRate( Func<string, RateType>> getRate, string rateKey) { var rate = getRate(rateKey); var formattedRate = rate.DollarsPerMonth.ToString("C0"); return formattedRate; } Veya …

3
Kaynak kodu erişimi olan şirket içi NuGet paketlerini yönetme
Şirket içindeki projeler arasında paylaşmak istediğimiz birçok kurum içi kütüphanemiz var. Bunlar bazı gereksinimlerdir: kütüphane kaynakları son projelerden ayrı depolarda depolanır son projeler NuGet üzerinden kütüphaneleri içerir bir proje üzerinde çalışırken kaynak kodun herhangi bir kütüphane için kolayca incelenmesi mümkün olmalıdır Özel NuGet veri havuzumuzu kurmak sorun değil, kaynakları yönetmek. …

3
Git stash'ı projemin devam eden değişikliklerini kaydetmek ve diğer bilgisayarlarda erişmek için github'a itmeli miyim?
Bir projeye taahhüt için yeterince iyi olmadan mola vermem gereken bazı özellikler üzerinde sık sık çalışıyorum. Ancak, kodlamak için günlük iki farklı bilgisayar kullanıyorum (dizüstü bilgisayarım ve araştırma laboratuarı masaüstüm). Örneğin: Evde bir özellik üzerinde çalışıyorum, sonra durup laboratuarıma gidiyorum. Bulut senkronizasyonunu (örn. Dropbox) GitHub uzaktan izleme ile karıştırmak istemiyorum. …
20 git  github  gitflow 

3
PyIt / Qt uygulamalarındaki mantıktan UI'yi nasıl düzgün şekilde ayırırım?
Geçmişte bu konu hakkında çok şey okudum ve Bob Amca'nın bu gibi ilginç konuşmalarını izledim . Yine de, masaüstü uygulamalarımı düzgün bir şekilde tasarlamak ve hangisinin UI tarafında ve hangilerinin mantık tarafında olması gerektiğini ayırt etmek oldukça zor buluyorum . İyi uygulamaların çok kısa bir özeti böyle bir şeydir. Mantığınızı …
20 design  python  mvc  gui  coupling 

5
Yazılım sistemlerini modellemenin ve hepsini kodda yapmanın faydaları nelerdir?
Çoğu, tanıdığım tüm BT insanları değilse, kodlamadan önce UML veya diğer diyagram türleriyle yazılım modellemenin yararlı olduğuna inanıyorlar. (Sorum özellikle UML ile ilgili değil, yazılım tasarımının herhangi bir grafik veya metinsel açıklaması olabilir.) Bundan pek emin değilim. Temel nedeni: Kod yalan söylemez. Derleyici veya yorumlayıcı tarafından kontrol edilir. Umarım otomatik …

6
TDD kullanılırken bir işlev veya özellik nasıl kaldırılır
TDD hakkındaki metinlerde sık sık yeniden düzenleme adımı sırasında "çoğaltmayı kaldır" veya "okunabilirliği geliştir" hakkında okudum. Ama kullanılmayan bir işlevi kaldırmamı sağlayan nedir? Örneğin en sınıfı olduğunu varsayalım Cyöntemlerle a()ve b(). Şimdi bir yönteme f()sahip olmanın iyi olacağını düşünüyorum C. Aslında, f()tüm çağrıları b(), tanımlanan / tanımlanan ünite testleri dışında …

4
Fonksiyonel programlamada değerleri hatırlamak
İşlevsel programlamayı öğrenme görevini üstlenmeye karar verdim. Şimdiye kadar bir patlama oldu ve ben 'ışığı' olduğu gibi gördüm. Ne yazık ki, soruları sektirebileceğim herhangi bir fonksiyonel programcı bilmiyorum. Stack Exchange ile tanışın. Bir web / yazılım geliştirme kursu alıyorum, ancak eğitmenim fonksiyonel programlamaya aşina değil. Onu kullanmamda sorun yok ve …

3
Testler ve üretim kodu arasında sabitler kopyalanıyor mu?
Testler ve gerçek kod arasında veri kopyalamak iyi mi kötü mü? Örneğin, FooSaverbelirli bir dizine sahip dosyaları belirli bir dizine kaydeden bir Python sınıfım olduğunu varsayalım : class FooSaver(object): def __init__(self, out_dir): self.out_dir = out_dir def _save_foo_named(self, type_, name): to_save = None if type_ == FOOTYPE_A: to_save = make_footype_a() elif …

4
Düz dosyaları veritabanı / API'ye karşı bir ön uç ve arka uç arasında taşıma olarak kullanma
Birkaç geliştirici arasında oldukça sıcak bir tartışma yaratan bir uygulamam var. Temel olarak, bir web katmanına ve bir arka uç katmanına ayrılır. Web katmanı, bilgileri basit bir web formuyla toplar, bu verileri bir JSON belgesi (kelimenin tam anlamıyla bir .json dosyası) olarak arka uç tarafından kullanılan bir izleme klasörüne saklar. …


5
Bir tip neden kurucusuyla birleştirilsin ki?
Kısa bir süre önce Kod İncelemesinde şöyle başlayan bir java cevabı sildim : private Person(PersonBuilder builder) { Durdurmak. Kırmızı bayrak. Bir PersonBuilder bir Kişi inşa eder; bir Kişiyi bilir. Person sınıfı bir PersonBuilder hakkında hiçbir şey bilmemelidir - bu sadece değişmez bir tiptir. Burada, A'nın A'ya bağlı olan B'ye bağlı …

3
Java / Linux yığınının "gerçek zamanlı" olmamasının nedenleri nelerdir?
Sık sık geliştiriciler Java "olamayacağını söz duymuş do Gerçek Zamanlı böyle bir şey vb RIOT-OS üzerinde çalışan bir deterministik gerçek zamanlı sistem gereksinimlerini karşılamak olamaz Linux üzerinde çalışan bir Java uygulaması anlamına gelen" Nedenini anlamaya çalışıyorum . Benim SWAG bu muhtemelen herhangi bir zamanda çalışacak ve tamamen sistem duraklatabileceğinizi Java'nın …
20 java  linux  real-time 


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.