Code Review temel ilkeler, en iyi pratikler, nasıl yapılır ile ilgili bazı kaynaklar





Linkedin Learning Programming Foundations: Conducting Code Reviews Eğitimi :


Code review kültürü ve basit kod örnekleriyle github üzerinden örnekler veriliyor.

https://www.linkedin.com/learning/programming-foundations-conducting-code-reviews/write-great-code-reviews-to-advance-your-career


Ücretsiz What to Look for in a Code Review Kitabı :

Jetbrains yayınlarından çıkan kitapta, java dili üzerinden bir code reviewde nelere bakabileceğiniz kategorize edilmiş ve kodlarla bazı örnekler verilmiş. Kitap biraz eski ama genel anlamda temel ilkeler üzerinden ilerliyor.

Table of Contents
JetBrains Technical Series
About this book
About the author
Introduction
What do you look for when reviewing someone else’s code?
What should you look for
Tests
Ask yourself these questions
Reviewers can write tests too
Summary
Performance
Performance Requirements
Calls outside of the service/application are expensive
Using resources efficiently and effectively
Warning signs a reviewer can easily spot
Correctness
Code-level optimisations
Summary
Data Structures
Lists
Maps
Sets
Stacks
Queues
Why select the right data structure?
Summary
SOLID Principles
What is SOLID?
Single Responsibility Principle (SRP)
Open-Closed Principle (OCP)
Liskov Substitution Principle (LSP)
Interface Segregation Principle (ISP)
Mino Dependency Inversion Principle (DIP)
Summary
Security
Automation is your friend
Sometimes “It Depends”
Understand your Dependencies
Summary
Upsource Quick Wins
Navigation
Inspections
Exception Handling Issues
Probable Bugs
Code can be simplified
Unused Code
Summary

Kitap :

https://leanpub.com/whattolookforinacodereview


Code Review Best Practices Videosu:

Yukarıdaki kitabın yazarı Trisha Gee tarafından verilen bir eğitimin videousu. En iyi pratikler konuşuluyor.





Amazing Code Reviews: Creating a Superhero Collective • Alejandro Lujan • GOTO 2019



High-Performance Java Persistence | Vlad Mihalcea - Hikari Connection Pool Nasıl Çalışır?

 High-Performance Java Persistence | Vlad Mihalcea kitabı JDBC Connection Management bölümünden :


1-Çoğu connection pool çözümü, gerçek bir veritabanına özel DataSource veya temeldeki DriverManager yardımcı programını saran bir DataSource uygulaması ile olur. 
Bağlantı havuzu, istemciye fiziksel bağlantıyı döndürmez, bunun yerine bir proxy veya bir tanıtıcı sunar. 
Bir bağlantı kullanımdayken, iki eşzamanlı iş parçacığının aynı veritabanı bağlantısını kullanmasını önlemek için pool durumunu allocated olarak değiştirir. 
Proxy, bağlantı kapatma yöntemi çağrısını durdurur ve havuza bağlantı durumunu unallocated olarak değiştirmesini bildirir. 
Pooling mekanizması, bağlantı edinme süresini kısaltmanın yanı sıra, bir uygulamanın bir kerede kullanabileceği bağlantı sayısını da sınırlayabilir. Connection pool, gelen bağlantı istekleri için sınırlı bir arabellek görevi görür. 
Bir trafik artışı varsa, mevcut tüm veritabanı kaynaklarını doyurmak yerine bağlantı havuzu bunu düzenler. (Kuyruk yapısı kitapta detaylı olarak anlatılmış)






2-Coonection pool'dan connection alma şu şekilde gerçekleşir :

1. Bir bağlantı istendiğinde, havuz ayrılmamış bağlantıları arar.
2. Havuz serbest bir tane bulursa, onu cliente iletir
3. Serbest bağlantı yoksa, havuz izin verilen maksimum boyutuna ulaşmaya çalışır.
4. Havuz zaten maksimum boyutuna ulaştıysa, bir bağlantı edinme hatası istisnasıyla vazgeçmeden önce birkaç kez yeniden deneyecektir.
5. İstemci mantıksal bağlantıyı kapattığında, bağlantı serbest bırakılır ve temeldeki fiziksel bağlantıyı kapatmadan havuza geri döner.


3-Aşağıdaki test, veritabanı bağlantılarını kurma ve kapatmanın toplam ek yükünü görselleştirmek için, dört farklı RDBMS'nin 1000 veritabanı bağlantısını açıp kapatmak için geçen toplam süreyi HikariCP² (Java ekosistemindeki en hızlı bağımsız bağlantı havuzu çözümlerinden biri) ile karşılaştırır.



Rastgele İçerik

DonanımHaber

© tüm hakları saklıdır
made with by templateszoo