Maymun dünyasının sevgisini ve barışını koruyan 5 büyük kod kuralı

Tam metin 2878 Kelimeler, tahmini öğrenme süresi 9 dakika

Kaynak: Unsplash

Kodlama kuralları, program kodlamanın uyması gereken kurallardır.Kodun doğruluğuna, kararlılığına ve okunabilirliğine dikkat edin.

Bu kurallar ve düzenlemelerle ilgili olarak, bazı gayri resmi programcılar genellikle umursamaz, bu da çoğu kez ortaya çıkan bazı beklenmedik sorunlara ve durumlara yol açar ve bu da herkesi rahatsız eder.

Şimdi, Xiaoxin bir "komutlar" listesi hazırladı: modern bir geliştirici olarak, bir şeyler yapmalı ve yapmamalısınız.

Aşağıdaki 5 tanesine bir göz atın ve neden sizin ve ekibinizin bunları benimsemesi gerektiğini tartışın.

1. Önce sorunu belirleyin, ardından çözümü belirleyin.

Herkesin kullanmayı sevdiği bir şey vardır: Redis, MySQL vb. Fark etmez, tercihlere sahip olmak normaldir.

Ancak bu tercihler bir gereklilik haline geldiğinde sorunlar ortaya çıkacaktır; bu mercek sayesinde her sorunu gözlemleyebilir ve sapmasını önleyebilirsiniz. Kandırılmayın, bu sadece kişisel bir günah değil, örgüt de bu konuda suçlu hissetmeli.

Pek çok şirket, belirli teknolojilerin, kitaplıkların veya araçların kullanılmasını gerektirir, ancak çoğu zaman "gerçekçi" düşünmez veya yatırım yapmaz, bu nedenle geliştiriciler ve operasyon mühendisleri bu teknolojileri pratikte kullanmak veya uygulamak zorundadır.

Bu, hem kurumsal mimari hem de gerçekten kod yazan ölümlüleri kontrol eden tanrısal güç de dahil olmak üzere, uzun zamandır hoşnutsuzluğumun bir parçası.

Yapı grubu genellikle şirketin belirli bir teknoloji veya ürünü (Kubernetes, OpenShift, AWS, vb.) Kullanacağına karar verir, ancak kuruluş içindeki sorunları ve bu teknolojilerin hangi sorunları çözmek için tasarlandığını tam olarak anlamaz.

Buna, Capital One'daki çalışmam sırasında, mimarlık ekibimiz Kubernetes'i kullanmaya karar verdiğinde ilk elden tanık oldum, ancak bu, sistem ve araçları pratikte geliştirmek ve uygulamak zorunda olanlar veya bunları çalıştırmak için kullanılacak uygulamalar için değildi. gerçek anlam.

Genellikle, mimari (veya aynı hastalık-kurumsal güvencenin kardeşi) ihtiyaç duyduklarını alamamalarının nedenidir.

Mimari ve güvenlik olarak önce çözülmesi gereken sorunu anlarlarsa ve sonra hangi aracı kullanacaklarına karar verirlerse, durum çok farklı olabilir ve muhtemelen çok daha sorunsuz geçecektir.

Kaynak: Unsplash

2. Bir soru sorun

Kulağa basit, kolay ve biraz naif geliyor ama aslında zor. Anlamadığınız biriyle tanışırsanız bir soru sorun. Bunun neden böyle olduğunu bilmek ister misiniz? Bir soru sor. Projenin yönünü bilmek ister misiniz? Bir soru sor.

Sadece soru sormak, istediğiniz cevabı alacağınız anlamına gelmediği gibi hiçbir cevap alamayacağınız anlamına da gelmez. Ancak soru sormazsanız, asla bir yanıt bulamazsınız.

Yeni bir takıma katıldıktan veya yeni bir işe başladıktan sonra, en iyi şeylerden biri tüm soruları sormaktır. FNG kartını çıkarmak, başlangıçta "aptal görünümlü karttan kurtulmak" gibidir.

Soruyu şu şekilde başlatın: "Hey, ben bunların hepsinde acemiyim, bu yüzden aptalca bir soru sormam gerekiyor ..." Bu, statükoya meydan okurken bilmek istediklerinizi bulmanın harika bir yoludur. .

Kaç kuruluşun bu şekilde işleri "nedense" yaptığına şaşıracaksınız. Genellikle bunun nedeni, birisinin bu yolu çok uzun zaman önce ayarlamaması, ancak kimsenin onu değiştirmek istememesidir.

Sorular sorarak, varsayımları sorgulayarak ve bilgi madenciliği yaparak ekibi, toplu, bireysel ve yaşamı daha iyi hale getiriyoruz. Bu tür sorular sayesinde tüm seviyeyi altyapıdan alabildim.

Ne tür değişiklikler yapacağınızı kim bilebilir?

3. İşi tamamlamak için en iyi araçları kullanın (Java kullanılmadıkça)

Bunu söylemek istemiyorum ama Java'yı günümüz endüstrisinde kullanmak için gerçekten bir neden bulamıyorum.

Java'nın bazı zıt farklılıkları var, inkar etmeyeceğim, ancak bu farklılıklar bugünün mühendislik ortamı için gerçekten geçerli değil. Java kullanmanın bazı avantajları şunlardır:

· Her yerde çalışabilir.

Otomatik hafıza yönetimi (ve çöp toplayıcı).

· JVM yığını için kapsamlı topluluk ve çerçeveler / kitaplıklar / eklentiler.

Gerçek hakkında konuşalım: Birden çok mimari, işletim sistemi vb. İçin kod kitaplıkları yazmak için Java kullanan kaç yazılım mağazası gördünüz? En azından çoğu değil.

Günümüzde bellek yönetimi alanında sadece Java değil. Hem Go hem de Rust bir tür çöp toplama özelliğine sahiptir, Python referans sayma kullanır ve diğer birçok dilde de bu özellik bulunur.

Şimdiye kadar, büyük bir aktif topluluğa sahip tek dil Java değil. Rust ve Python çok aktif ve yardımsever topluluklara sahiptir ve Go topluluğu her geçen gün büyümektedir.

Ama en azından bence Java'yı diğer ödünleşimler için kullanmak buna değmez. Java, JVM'ye dayandığından, her Java uygulaması otomatik yeniden boyutlandırma maliyetine maruz kalır.

Gigabaytlık boş alana (birkaç yüz MB'den az) sahip sunuculardan bahsederken, bundan bahsetmeye değmeyebilir, ancak yüksek oranda kapsayıcıya alınmış bir dünyada, birkaç yüz MB astronomik bir rakamdır. (Python'un da bu dezavantaja sahip olduğunu lütfen unutmayın.)

Go, Rust (ve diğer) statik olarak bağlantılı derlenmiş dilleri kullanarak, genellikle sadece 4 MB ikili dosyaya sahip olan çok küçük ve basitleştirilmiş konteynerlere sahip olabilirsiniz.

Bu, özellikle ağ veriminin çok önemli olduğu büyük kuruluşlar için önemlidir ve 400 MB veya 5 MB'lık yeni kapsayıcılar indirmek çok kolaydır.

Ek olarak, JVM ve Java JIT derlendiğinden, Java kodunu çalıştırmak performansı düşürecektir.

Düşük gecikmeli, yüksek verimli uygulamalar veya sunucuların kutulanmasının ve paketlenmesinin önemli olduğu senaryolar için, bayt kodların sistem çağrılarına dönüştürülmesinden kaynaklanan performans kaybı, zahmete değer değildir.

Bütün bunlar, mevcut çalışmayı tamamlamak için araçların doğru kullanımı çok önemlidir.

İnsanların aya gitmesi için BASIC kullanmak istemiyorsunuz, yüksek performanslı bilgi işlem için Java kullanmak istemiyorsunuz - o zaman çözmeniz gereken soruna uygun bir çözüm bulmanız gerekiyor.

Kaynak: Unsplash

4. Monorepos kullanmayın

Monorepo kavramına aşina değilseniz (kıskanıyorum), lütfen açıklamama izin verin: uygulamalar için birden fazla kaynak kodu deposu sağlamak yerine, monorepo her şeyi tek bir depoya koyar.

Bu, birden çok proje için iyidir, ancak bir bedeli vardır: Git değil, Subversion kullanmalısınız. Git'in birçok avantajı olmasına rağmen, subversion gibi seyrek kontrolleri desteklemez.

Seyrek kullanıma alma, Git gibi tüm ağacı kontrol etmek yerine daha büyük bir ağacın tek bir dizinini kontrol edebilir. Bu, birden fazla kişinin veya ekibin, ağacın çeşitli bölümlerinde üst üste binmeden çalışmasına izin verilebileceği anlamına gelir.

Bu Git ile yapılamaz, bu nedenle Git'i kaynak kod kontrolü olarak kullanırken, ayrı uygulamalar için ayrı bir depo kullanmalısınız.

5. Dönmeyin

Tıpkı birçok güzel şey-seks, takım çalışması, hassas dişli makine vidaları gibi, iyi durumda olduklarında her şey kolay olacaktır. Geri bildirim açık olsun ya da olmasın, hayatlarımız geri bildirimlerle doludur.

Yazarken klavyeye dokunduğumu hissediyorum. Düz hayali düğmeye bastığımda telefondan hafif bir "klik" sesi çıkacak. Dondurma yemeye karar verdiğimde laktoz intoleransı olan midem% 100 olacak. İsyan; bunların hepsi geribildirim biçimleridir.

Bize her şeyin yolunda gittiğini, normal ya da aşırı derecede kötü gittiğini söyleyecekler, aslında her şey aynı. Hepimiz daha önce deneyimledik, bir proje üzerinde çalışırken, midede oluşan his bize veri modelini daha iyi desteklemek için veritabanını değiştirmemiz gerektiğini söylüyor.

Yalnızca ilişkisel veritabanları ve ORM'ler kullanıyorsanız, çok fazla kırılgan veri dönüştürme kodu yazmadan bu tür veritabanlarına büyük miktarda veri yazabilirsiniz. Ya da yeni takımınızı veya yeni işinizi bulduktan sonra, herhangi bir nedenle artık meslektaşlarınızla anlaşamazsınız.

Onlardan hoşlanmadığınızdan ya da sizden hoşlanmadıklarından değil, sadece belirli kişilikleri olan insanların birlikte çalışmaya daha uygun olmalarıdır. Zorlamaya gerek yok. Daha iyi bir çözüm bulun ve devam edin.

Takım değiştirme hakkında yönetici ile konuşun. Bir ORM bulun ve çalışmaya başlayın. Yaptığınız şeyi bırakın ve kolaylaştıran şeyi yapın. Kare mandal / yuvarlak delik sorununu NASA meraklılarına bırakın.

Kaynak: Unsplash

Bu beş kod kuralına hakim olursanız, programlama yolunuzun daha sorunsuz, daha kolay ve daha eğlenceli olacağına inanıyorum ~

Yorum Beğen Takip Et

Yapay zeka öğrenme ve geliştirmenin kuru mallarını paylaşalım

Yeniden yazdırıyorsanız, lütfen arka planda bir mesaj bırakın ve yeniden yazdırma şartnamelerine uyun

Veri seti arama motoru çıktı! Veriler, veri bilimine nasıl yerleştirilir?
önceki
Bugünün temel sesi | harika! Tsinghua, dünyanın en etkili 2000 mekaniğinin listesini yayınladı
Sonraki
2020'deki teknoloji trendleri: İşletmelerin geleceğini değiştirmeye hazır
Bir patron olarak, en iyi geliştiricilerin istifa etmesini nasıl engelleyebilirsiniz?
Yüz tanımanın ardında: korkutucu olan teknoloji değil
Bugünün Temel Sesi | Bitcoin, yıl sonuna kadar 500.000 doları kırmayacak ve yumuşak katliam yapan babanın babası canlı yayın "özürlerini" mi yaşayacak?
Alınan dersler: Go öğrenmenin artıları ve eksileri
kaçırma! Sizi her zaman enerjik tutan 9 alışkanlık
Yeni yıl ve yeni atmosfer! Kodlama deneyimini geliştirmek için 5 VS Code eklentisi, harika
Aldatma ve pornografiden uzak, Deepfake araçlarını "insanlığa fayda sağlamak" için sorumlu bir şekilde nasıl kullanabilirim?
Xinsheng Bugün | Bir bilet aldınız mı? 2020 Bahar Şenliği Taşımacılığı resmi olarak bugün başladı
Göz kırpma! Sihirli yöntemin Python kodunun performansını nasıl artırdığını gördünüz mü?
Yapay zeka insanlar gibi öğrenebilir mi?
Sandu Ao-New District, Ningde, Fujian'ı ziyaret etmek: Kaliteyi sağlamak için inşaat sürecini ele alarak iş ve üretime düzenli bir şekilde yeniden başlama
To Top