Önemsiz ve önemsiz olmayan yazılımlar arasında nasıl ayrım yapılır? [kapalı]


11

Peki bir programı gerçekten önemsiz yapan nedir?

'Önemsiz yazılımı sürece' programlama tartışmalarında çok sık kullanılır. 'Önemsiz bir yazılım olduğu için bir şey gerekli mi' veya 'önemsiz olmayan bir yazılım çünkü bir şey çok önemli hale geldi' diye gerçekten anlayamıyorum anlamında çok belirsiz buluyorum.

Örneğin, birim testi konusunda birçok kez, 'önemsiz bir şekilde birim testi yapmanız gerekmiyorsa' duyuyorum.


9
Çalıştığım programcıların bazılarına bakılırsa, onlar için ayrımın "kodunuz önemsiz; kodum değil" e indiğini söyleyebilirim.
PSU

Bu alıntıyı kullandığını gördüğünüz bir programlama tartışması yapabilir misiniz? Cevaplarda farklı yorumlar var gibi görünüyor.
Steven Jeuris

Güncellenmiş soruyu kontrol edin.
NVM

Yanıtlar:


12

Burada bir uzuv çıkacağım ve şunu söyleyeceğim:

Önemsiz bir program işi doğrudan etkilemeyen bir programdır.

Bir imalat firması muhasebe yazılımını önemsiz olarak değerlendirir, ancak kaynar çeliği hareket ettiren robotik kolu kontrol eden yazılım kritik öneme sahiptir. İlkinde hatalar ve düşük destek dönüşü ile başa çıkabilirler, ancak ikincisi değil. Bir sorun varsa, onlar da sabit ihtiyaç şimdi .


Başka bir cevabın daha fazla puanı olmasına rağmen, bu cevabı en çok seviyorum. Soruyu sordum çünkü yaptığım işin önemsiz olup olmadığından tamamen emin değilim ve bu 'iş' tarafından önemsiz olup olmadığını anlamak için kesin bir atış yolu. Örn. önemsiz yazılım birim testi olmadan kurtulabilir ve gerçekten kod satırlarına veya karmaşıklığa bağlı değildir. Tüm mesele, iş için kritik olup olmadığıdır.
NVM

+1, İyi bir nokta. Kurumsal Derebeler bazen neyin "önemsiz" olarak değerlendirildiği konusunda çok farklı fikirlere sahiptir. Bunu yansıtmak için cevabıma birkaç tane ekledim.
Hayal kırıklığına

+1 - Bence bu cevap terimin bağlamında soruya uygulandığı şekli en iyi şekilde açıklar. Diğer "yüksek puan yanıtı" doğrudur, ancak sadece genel bir bağlamda. Eminim ki bu kabul edildiği gibi oyları aşacaktır.
Joel Etherton

2
Yazılım geliştiricileri önemsiz dediğinde, genellikle işin etkisi değil, yazılımın karmaşıklığına atıfta bulunurlar. Bazı dosyaları A'dan B'ye kopyalayan bir komut dosyası önemsizdir, ancak işe yaramazsa yine de doğrudan işi etkileyebilir.
JacquesB

16

Bu ifadenin en yaygın amacının bir programın aşağıdaki özelliklere sahip olması olduğuna inanıyorum:

  • O küçük.
  • Kısa kullanım ömrü.
  • Daha fazla uzatma gerektirmez.
  • Sadece bir geliştirici.

2
+1, bunların hepsi çok önemli. Ne yazık ki, sürekli değişen gereksinimleri olan bir dünyada bazen "önemsiz" yazılımları doğal ömrünün ötesine genişletmek zorunda kalacaksınız.
l0b0

1
LOC açısından küçük, derlenmiş ikili boyut açısından küçük, geliştirmek için geçen zaman açısından küçük mü? Ayrıca, kısa ömrün önemsiz olmadığını ve önemsizliğin kısa ömür anlamına gelmediğini iddia ediyorum. Sadece 6 aylık bir yazılım süresinin en az iki kat daha uzun süredir geliştirildiği ve önemli bir köprü sistemi olduğu vakaları gördüm. Tam olarak bir kez kullanılan, ancak bir yıldan uzun süredir geliştirilmekte olan ve önemsiz olmaktan uzak veri dönüşüm sistemleri gördüm . Ve Mayın Tarlası gibi önemsiz programların çok uzun ömürleri var gibi görünüyor.
Hayal kırıklığına

@FrustratedWithFormsDesigner: olduğu gibi küçük, 100x100px'lik bir pencere penceresi. ; p Yani, yazılması gereken kod satırlarında olduğu gibi küçük, bu da onu geliştirmek için harcanan zamanla orantılı. Ömrü zorunlu değildir, haklısınız, ancak basit bir yaklaşımla daha gelişmiş bir yaklaşımı tartışırken genellikle bir karakteristiktir.
Steven Jeuris

Düşük LOC'nin her zaman önemsiz olduğunu ima ediyorum. Bazen bir programın en karmaşık kısmı, en zor kısım, en zor algoritmalar, <20 Kod Satırı'na sığar. Ve çoğunlukla yüzlerce satır otomatik olarak oluşturulan alıcılar / ayarlayıcılar olan bir program - o zaman onu oluşturmak için bir geliştiriciye ihtiyaç duymasa bile önemsiz değil mi?
Hayal kırıklığına

1
@FrustratedWithFormsDesigner: Sorunun benden farklı bir yorumuna sahip olduğuna inanıyorum. Cevabım, karmaşık bir çözüme karşı önemsiz bir çözüme karar verme gerçeğiyle ilgilidir. Cevabınız 'zor' ve 'kolay' problemlerin çözümü ile ilgilidir. Belki de OP'nin sorusu biraz açıklığa kavuşturulmalıdır.
Steven Jeuris

14

Tamamen, ikili ve kaynakları atarak. Birisi fark ederse, önemsiz değildi.


6
+1 Bu beni güldürdü ve aynı zamanda mantıklı.
NVM

8

Önemsiz ...

  • var olan bir şey, neden tekerleği yeniden icat ettiniz?
  • birkaç programı birlikte yazarak veya yapılması gerekenleri yapan mevcut kitaplıkların yoğun kullanımını sağlayan küçük bir kod yazarak kolayca oluşturulabilecek bir şey.
  • ortalama bir CS lisans öğrencisi küçük ve orta ödev ödev yapabileceği bir şey.
  • kokteyl peçetesine kolayca sığabilecek ayrıntılı gereksinimlere sahip bir şey.
  • 4/5 dakikalık parçalar halinde dikkati dağılmış / sarhoş / boşken kodlayabileceğiniz bir şey.
  • basit bir kod oluşturma aracı ile oluşturulabilecek bir şey.

Kurumsal bir ortamda şunları eklerdim:

  • İş Kullanıcılarının bir süre düzeltmek için beklemedikleri bir şey.
  • dahili olarak kullanılan ve BT'den resmi desteği olmayan bir şey .
  • kaynak planlaması ve çizelgelemesi yapılırken İşletme tarafından en düşük öncelikler arasında önceliklendirilen bir şey.

4

Önemsiz bir programı makul bir şekilde kodlanabilecek bir program olarak tanımlarım:

  • Tek bir oturuşta.
  • Tek bir dosya / modül olarak (Java'da veya modüllerin süper hassas şekilde bölünmesini zorlayan bir dilde programlamadığınız varsayılarak).
  • Bir uzman yerine, herhangi bir terbiyeli "tüm esnaf jack" programcı tarafından.

3

İşte benim "önemsiz" programları benim örnekleri:

  1. Bir teknoloji veya örnek kod denemek için ayarladığım ve kodlamaya başladığım "kukla" bir proje. Kimseye konuşlandırılmaya ve hatta gösterilmeye niyet yok.
  2. Demo sunumlar teknik sunumlar için yazılmıştır.
  3. Bir kerelik. Bir kez kullanmak için inşa etmek zorunda kaldığım hızlı bir uygulama, çünkü belirli bir şekilde taşınması gereken garip bir veri durumu ya da hemen daha kalıcı bir şeyle değiştirilecek bir şey.

3

Trevor yazılım size gereksinimleri ve olacak şey duyduğunda ise, var olmayan trival gerçekte her zaman olduğu zaman sigara trival

On yıl önce Usenet'te gördüğüm bir alıntı, şimdi daha da alakalı.

Bir Yazılım Çözümünün karmaşıklığı, yapması gerekenin açıklamasının karmaşıklığı ile ters orantılıdır. - Bilinmiyor


-1

Sadece bir grup getter / setter yöntemlerinden oluşan bir program. Programlama mantığı yok. Belki birkaç döngülü bir şey.

Bu benim önemsiz tanımım.


-1

Bizim çalışma tanımımız "başka hiçbir şeyin bağlı olmadığı bir şey" dir.

Ne yazık ki önemsiz olmayan üretim ürünleri haline gelen birkaç önemsiz prototip var.


-3

Programın genel proje planlaması üzerindeki etkisi bağlamında da kullanıldığını duydum. Belirli bir şartname, ürünü teslim etme zaman çizelgesini değiştirmezse, önemsiz etiketin altına girer.

"Önemsiz" kelimesini "Tartışmaya bile değmez" ifadesinin eş anlamlısı olarak kullanma eğiliminde olan bir programcı biliyordum.

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.