Heterojen gelişim ortamları için bir avantaj var mı?


10

Hangi donanım ve yazılımı çalıştırdıklarına dair seçenek verilen geliştiricilerden oluşan bir ekiple çalışıyorum. Bizim hissimiz, bu senaryonun teste girmeden önce çok çeşitli hedef sistemleri görmemizi sağlamasıdır. Deneyimlerimiz, sorunun ortaya çıkmasından hemen sonra farklı tarayıcılarda ve işletim sistemlerinde bir dizi garip sorun bulmamızdır. Ama bu sadece bir grubun deneyimi.

Bu sistem çeşitliliği, altyapı ve güvenlik ekiplerimiz için zordur, bu yüzden sık sık bir acı noktası olarak ortaya çıkar.

Bir geliştirici ekibinde homojen veya heterojen geliştirme ortamlarına sahip olmak daha mı faydalıdır?


1
Bunun gibi çoğu yazılım geliştirme sorunu yetkili bir şekilde araştırılmamıştır. Üstünlerinizi veya iş arkadaşlarınızı ikna etmenin bir yolunu arıyorsanız, bunu yapmanın başka bir yolunu bulmanız gerekir. Bununla birlikte, buraya bir göz atın: netlib.org/utk/papers/practical-hetro/node2.html
Robert Harvey

Kendi grubunuzda test etmeye değer olduğunu düşünüyorum. Bu şekilde, homojen bir ortam kullanmanız gerektiğinde geliştiricinin avantajlarını koruyup korumadığınızı ve ekiplerin alacağını iddia ettikleri güvenlik ve altyapı avantajlarını kazanıp kazanmadığınızı belirleyebilirsiniz. Bu şeyler basit değil, ama iyi programcılar bulmak zor ve maliyetli olduğundan, alanlarını geliştirmek isteyen bu diğer ekiplerin köpeği sallayan kuyruk olduğundan emin değilim.
JeffO

1
Nihayetinde, tanımladığınız heterojenliğin faydaları ve maliyetlerine aşina olan ürün / hizmet gereksinimleri ve yönetimi tarafından cevaplanması gereken mükemmel bir soru. Deneyimlerime göre, gereksiz çeşitlilik , özellikle aksi takdirde sıkıcı gereksinimlerden ilginç bir sapma olduğunda maliyetleri artırma eğilimindedir. Yaratıcıları başka bir zorluk için ayrıldıktan sonra teknoloji çeşitliliğini korumanın maliyeti var. Ayrıca ilgili vaka çalışmaları ile de ilgileniyorum. +1
bvj

6
Birçok başarılı mağaza, geliştiricilere geliştirme güvenliği ve altyapısı bırakır. Bir hakem tarafından gözden geçirilen kodu bir depoya gönderirsiniz ve kaynağınızın temiz olduğunu bildiğimiz için dizüstü bilgisayarınızın saldırıya uğramış olup olmadığını bilmez. Bunu yapabiliriz çünkü size dizüstü bilgisayarınızı hackleyen kişiden daha fazla güvenmiyoruz. Ancak bu şekilde çalıştığımız için, kök salmış olabilirsiniz. Her iki şekilde de çalıştım. Kök yapmayı tercih ederim. Yani heterojen gelişimin avantajı, kökümü almaya çalışan insanlar için bir acı noktası olmasıdır.
candied_orange

2
Ekibinizin kendi ortamlarını seçmeyi tercih ediyor gibi görünmesini gerçekten öneriyorum

Yanıtlar:


3

Bir avantaj, geliştirme sürecinin başlarında platformlar arası uyumluluk ve sapma sorunlarıyla karşılaşmanız ve çözmeniz gerektiğidir. Herkes bu tür maymun anahtarları ve engellerle uğraşmaya alışkındır.

Aynı zamanda böyle bir ayrışmanın dezavantajını görüyorsunuz: Bu ayrışmalar nedeniyle ortamın kurulması, bakımı, güvenliği ve geliştirilmesi daha zordur. Herkes ayrılık sorunları üzerinde erken ve sık sık çalışmalıdır. Kaos Maymunu başlangıçta gevşetmek, ilerlemekte önemli bir dikkat dağıtıcı olabilir.

Benim tecrübelerime göre, özellikle çapraz platform olması gereken bir ürün üzerinde çok özel olarak çalışmıyorsanız, ıraksama sorunları çabaya değmez. Ancak bu, farklı ekiplerin kendileri için yapması gereken bir karardır. Proje ekiplerim arasında en azından bir çeşitlilik olmasını tercih ediyorum - ama gerçek şu ki, uygulayabileceğim bir şeyden ziyade bu bir arzu. Bazı insanlar Windows kullanıyor, diğerleri macOS, diğerleri Linux lezzeti kullanıyor. Geliştiricilerin kullanmak isteyebileceği tüm araçları bu çarpı çarpın.

Herkesin uyması gereken Python 3.5, PostgreSQL 9.5+, gulp tabanlı varlık boru hattı, git, Github, rebased şubeleri gibi bazı temel proje standartlarını belirtebilirsiniz. Bu, ıraksamayı azaltmaya yardımcı olur, böylece onu barındırmak ve zorlamak için gereken zaman / çaba. Kuruluşunuz ne kadar kurumsal ve kilit adımsa, o kadar fazla standartlaşma ve ortaklık üzerinde ısrar edebilirsiniz. Ancak geliştiriciler mecazi okunamaz kediler olma eğilimindedir. Bu nedenle, sapmayı "sıkıcı bir kükreme kadar" tutmak genellikle pratikte yapabileceğiniz en iyisidir.


OP'nin kişisel bir görüş değil, bazı araştırmaları ve makaleleri açıkça sorduğu için bunun iyi bir cevap olduğunu düşünmüyorum.
KjMag

1
@KjMag Düşüncelerinizi bekliyoruz. Bu, yıllar boyunca birçok kez profesyonel bir kapasitede bana sorulan bir soru. Stack Exchange siteleri temel olarak kalabalık kaynaklı deneyimi toplamak ve paylaşmak için kurulmuştur. Bu benim. Eğer tam bir araştırma raporu aramak ve kaynakça göndermek istiyorsanız, adresinde.
Jonathan Eunice

@KjMag araştırma ve makale istemek burada konu dışıdır ve bunu soru dışında düzenledim. Bu cevap bazı dış bağlantılardan yararlanır, ancak kendi kendine yeterli ve "yararlı" dır.
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.