Genç Programcılar, Kıdemli Programcıların projelerinde kod gözden geçiricisi olarak yer almalı mıdır?


55

Takım üyelerimden biri, küçük bir programcı, deneyim seviyesi için etkileyici programlama becerilerine sahip.

Ve kod incelemeleri sırasında, hataları vurgulamak yerine öğrenmeyi vurgulamaya inanıyorum.

Ancak, küçük programcılar daha üst düzey programcılar için kod incelemelerinde yer almalı mı? Yoksa kod incelemelerine sadece ilgili deneyime sahip programcılar tarafından mı katılmalı?


54
Bütün bu "genç" ve "kıdemli" şeyler ne hakkında? IMO, bir programcının başkalarının kodlarını inceleme yetkisine sahip olup olmadığına göre yetenek ve deneyime göre belirlenmelidir - unvan değil ....
Anthill

23
Başlık normalde yetenek ve deneyime göre belirlenmelidir. Eğer o genç yaşlıların kodunu gözden geçirecek kadar iyiyse, unvanını değiştirme zamanı.
süpermen

18
Ancak bazen bu başlık İK politikaları ve oyunları tarafından belirlenir :)
Michal Franc

4
Tam olarak ne demek, "küçük programcılar" ile? Bu insanlar uygulamada daha az deneyime sahip mi yoksa sektörde daha az deneyime sahip mi? Tecrübelerime göre, bir projede en deneyimli veya en son çalışanlar için genç bir personelin olması mümkün.
Thomas Owens

4
@ThomasOwens, "Genç programcılar" derken, endüstride daha az deneyime sahip insanları kastediyorum.
Md Mahbubur Rahman

Yanıtlar:


62

Bir kod incelemesinin birincil amacı, kusurları veya olası sorunları bulmaktır. İncelemede gereken katılımcılar, unvanları veya kıdemleri ne olursa olsun, bu sorunları tanımlamak için en uygun kişiler olmalıdır.

Örnek olarak, Python'da bir uygulama geliştiriliyorsa ve genç mühendis Python dili ile, kodu yazan kıdemli mühendisden daha fazla deneyime sahipse, alternatif bir yöntem yapmanın işaretinde değerli bir varlık olabilir, ancak ayrıca bir bütün olarak sistemin daha az bilgisine sahip olabilir.

Araçlar ve teknolojilerdeki deneyimin ötesinde, uygulama alanındaki deneyimi de göz önünde bulundurun. 20 yıllık tecrübesi olan ancak finansal sektörde sadece 1 veya 2 olan birisine, finans sektöründeki 5 yıllık tecrübeye sahip daha az deneyimli bir geliştiricinin çalışmalarını gözden geçirmesiyle yardım edilebilir.

Daha az deneyimli personeli mümkün olduğunca gözlemlemeye ve katılmaya davet etmek, kod inceleme sürecinin bir kod tabanı öğrenmelerine, soru sormalarına ve yalnızca kod incelemelerinde değil, onlardan ne beklendiğini öğrenmelerine izin vermede faydalı olabilir. ürettikleri kod. Bununla birlikte, muhtemelen süreçte çok fazla kişinin (kod incelemesini ve amacını tam olarak destekleyebilecek kişilere odaklanarak) odaklanmasını istemiyorsunuzdur.

Bu gerçekten her türlü inceleme için geçerlidir - gereksinimler, tasarım, kod ...


4
"İncelemede gereken katılımcılar, unvanları veya kıdemleri ne olursa olsun, bu sorunları tanımlamak için en uygun kişiler olmalıdır." Ve ayrıca mükemmel cevap için.
Md Mahbubur Rahman

60
"Bir kod incelemesinin birincil amacı, kusurları veya olası sorunları bulmaktır." Kesinlikle katılmıyorum. Kod incelemesinin birincil amacı bilgi paylaşımıdır; kod incelemesinin ikinci amacı bir kodlama standardı oluşturmaktır; İnceleme sırasında bulunan herhangi bir hata yargıdan daha şanslıdır. programmer.97things.oreilly.com/wiki/index.php/Code_Reviews
pdr

8
@pdr İlk kod satırı yazılmadan önce bir kodlama standardı oluşturulmalıdır. Standart oluşturmak için incelemeler kullanıyorsanız çok geç. Kodlama standardını, geliştirdiğiniz şekilde uyarlamak için iyi bir zaman olabilir - zayıf noktaları belirtmek için incelemeleri kullanabilir veya standarda iyileştirmeler önerebilirsiniz, ancak bir standart olmadan bir geliştirme projesine başlamayı hayal edemiyorum (sadece dilin önerdiği kurallar).
Thomas Owens

5
Proje başlamadan önce kodlama standartlarına ne koyacağınızı bile biliyorsunuz ve farklı ekip üyelerinin aynı soruna farklı yollarla yaklaştığı (kod incelemesi yoluyla) nasıl ortaya çıkıyor? Genellikle dil standartlarının olduğu yöntem adlarını gizlemekten bahsetmiyoruz, NUnit vs MSTest gibi şeylerden bahsediyoruz; depo desenleri; "Hey, WCF müşterileri için zaten bir sarıcı yazdım. Benimkine bir bak, her şeyin en iyisini al ve standart yap." Bu şeyler yalnızca kod incelemeleriyle gelir ve bunları yapmak için en iyi nedendir.
pdr

4
Birim test çerçevesi muhtemelen kötü bir örnekti, ancak bir dosyanın sıkıştırılmasını gerektiren iki farklı gelişme olduğu söyleniyor. İki farklı geliştirici daha önce kullandıkları için farklı kütüphaneler kullanabilir. TÜM bu tartışmaları ön planda tutamazsınız ya da gelişimden daha fazla toplantıya asılırsınız. Bilgi paylaşımı, kod gözden geçirme yoluyla, bu sorunların yayılmadığından emin olmak için en önemli şeydir.
pdr

81

Küçük programcılar kıdemli programcıların projelerinde kod gözden geçiricisi olarak yer almalı mıdır?

Evet yapmalılar. Diğer insanların kodlarını okumak iyi bir öğrenme deneyimidir. (Bu hem iyi kod hem de kötü kurallar için geçerlidir. Her ne kadar biri üst düzey bir geliştiricinin kodunun kötü olmayacağını umsa da ...)

Açıkçası, kod incelemesini yapan sadece gençlerin olması akıllıca değildir . Ve bilgisiz olanlar hakkında bulabilecekleri şeyler konusunda çok yüksek beklentiler koymak. Bununla birlikte, genç programcıların masaya getirebileceği yeni bilgilerle de şaşırmış olabilirsiniz.


Başka bir Cevap, gençlerin korkutmaktan / kendilerini korkutmaktan bahsetti. Bu, kod gözden geçirme hakkında gözden geçirilmesi gereken veya gözden geçirenler için ne olması gerektiği DEĞİLDİR. Eğer bu gerçekleşirse, grubunuzun kod incelemesini yapma şeklini değiştirmesi gerekir ... belki de korkutucuların sıraya çekilmesi gerekir.


Bana göre mouviciel, yaşlıların kodunun , yaşlıların kendilerini değil, korkutucu olabileceği anlamına geliyor (eğer öyleyse, evet ise, ekibin kodu gözden geçirmekten daha ciddi sorunları var).
yannis

6
@YannisRizos - 1) Ben böyle okumam. 2) Orası “beklemenin mümkün olmadığı” içeri giriyor. Eğer yaşlıların kodu “korkutucu” ise, o zaman özellikle çocuğun gelişiminde onu okumaya / anlamaya çalışmak iyidir .
Stephen C

1
Üst düzey programcıların genç geliştiriciler için kod incelemelerinin bir başka değerli parçası olduğunu nasıl düşündüğünü öğrenmek. Küçük geliştiriciyken, üst düzey geliştirici benimle birlikte gözden geçirdikten sonra daha mantıklı geldi.
Michael Shops,

38

Ben bir "Junior" programcı eğer o eklersiniz değil daha sonra yaşlılar kodu anlamak başlı başına bir kod iyi önlem olduğunu. Tamam, herkesin anlayabileceği bir kod yazmanın mümkün olmadığı zamanlar olabilir, ancak umarım bunlar istisnalar olabilir - yalnızca 1 veya 2 kişi kodu anlayabiliyorsa, o zaman bu insanlar müsait olmadığında ve bir sorun olduğunda ne olur? o?

İnsanlara yeni zorluklar vermek onların gelişmesine yardımcı olur; Ayrıca, herkes kodu gözden geçirmek için kesilmeyebilir, ancak bir incelemeye yardımcı olmaya hak kazanmadan önce birisinin bir başlığın ( İK politikaları ve oyunlar tarafından belirlenir) ısrar etmesi dogmatik görünüyor .

Diğerlerinin de belirttiği gibi, kod incelemesi iki yönlü bir süreç olabilir; herkesin kod tabanını anlamalarına yardımcı olur, bu nedenle bilgileri paylaşır, gençlerin yaşlılardan yeni ve daha iyi yollar ve teknikler öğrenmelerine yardımcı olur ve yaşlıların anlayışlarını daha iyi hale getirmelerine yardımcı olur ve herkesin daha fazla göz alabilen kodlara uymasını sağlamak için yazarak hataları yakala.


6
Şimdi bu iyi bir açılış cümlesi.
pdr

Eğer kod daha gelişmiş teknikler kullanıyorsa (örneğin, diziler ve döngüler yerine ayarlanmış işlemleri kullanmak), o zaman olan şey takımdaki birinin oyununu yükseltmesidir.
kevin cline

1
Kod incelemeleri yaparken, herhangi birinin belirli bir kod parçasını ne yaptığını sorması gerekiyorsa, kodun bir veya iki yorumu gerektiğine dair son derece güçlü bir göstergedir.
Bryan Anderson

24

Kod incelemelerinin amacı, bakım sorunları ve köşe davaları gibi testlerin yakalayamadığı sorunları yakalamaktır. Genç programcıların birçok yönden bu amaç için daha uygun olduğunu savunuyorum :

  • Genel olarak daha fazla zamanları var.
  • Kodu anlama zorunluluğunu yavaş yavaş, satır satır sıraya koymaları daha olasıdır.
  • Kodun korunabilirlikten bahsettiğinizde, yalnızca en iyi programlayıcılarınız değil, şirketteki herkes tarafından anlamına gelir. Bu, küçük programcılarınızın sürdürülebilir olduğunu beyan etmek için kodu anlayabilmesi gerektiği anlamına gelir.
  • Bir şeylerin işe yaraması gerektiğini düşündükleri şekilde çalıştığına güvenerek, genellikle yanlış varsayımlarda bulunma olasılıkları daha düşüktür.
  • Programlama dilindeki eğitimleri daha yenidir ve yıllarca süren bir başka dilde edinilen deneyim ile karıştırılma olasılığı daha düşüktür. Örneğin, bir kıdemli öğrenci yanlışlıkla C ++ 'dan aldığı ve Java'da biraz farklı çalışan bir alışkanlığı kullanabilir. Gençler bu tür hataları daha kolay algılıyorlar.
  • Kod gözden geçirenlerin yalnızca sorunları tanımlamaları gerekir , mutlaka daha iyi bir çözüm öneremezler. Sık sık, "Gerçekten nasıl daha iyi yapılacağını çözemiyorum, ama bu bölüm tüm tekrarlar yüzünden gerçekten kafa karıştırıcı." Daha deneyimli bir programcı, sorunu ilk başta fark etmemiş olsalar bile kolayca iyileştirmeler yapabilir.

Bu, kıdemli programcıların inceleme yapmak için daha uygun olduğu başka yollar olmadığını söylemek değildir, ancak ekibinizin çeşitliliğinden tam olarak yararlanamıyorsanız, benim açımdan bir kötülük yaptığınız anlamına gelmez.


13

Çocuklardan sık sık kodu sürdürmeleri istenecektir, onu anlamaları çok önemlidir.

Bazen gençler, üst düzey geliştiricilerin kodunu gözden geçirebilecek tek kişidir. Kod, QA'ya gitmek için beklemeli mi (kod incelemesi yapmadan dev bir şeyi zorlamıyoruz ve bu tür bir kod incelemesini de üstleniyorum) çünkü yaşlıların patronu tatilde mi?

Ayrıca, gençlerden kısa sürede farklı bir müşteriye benzer bir şey yapacaklarını bildiğimde veya benzer olan başka bir şey üzerinde çalıştıklarını veya belirli bir beceri setine sahip olduklarını bildiğimde bir şeyi kod incelemelerini özellikle sordum.

Kod oldukça basitse, incelemeyi yapmak için genellikle küçük bir kişi alırım. Küçük insan işi yapmak için yeterince yetenekliyse, yaşlılar neden zamanını harcıyor? Eğer gençler kıdemli kodunu gözden geçirmekten korkarlarsa, başlangıçta daha kolay parçalara bakmalarını sağlayın. Ne de olsa, korkutmaktan vazgeçene kadar küçük olmayı geçemezsin.

Sıklıkla, kodu anlamayan bir gence kodunu açıklamak zorunda kalırsam, yaptığım bir hatayı göreceğimi (genellikle bir varsayımla) ve kod çalıştığı için deneyimli bir kod gözden geçiricisinin yakalayamayacağını anladım. ama tam olarak amaçlananı yapmaz. Bu nedenle, yalnızca bazı şeyleri açıklama eylemi, geliştiricinin kod inceleme uzmanı bulmadan bir sorunu görmesine yardımcı olur. Daha tecrübeli insanlar sık ​​sık adım adım kodlar boyunca alınmadığından, bu tür şeyler bir çocuk incelemesi yaptığında daha kolay bulunur.

Gençlerin incelemelerde yer almasının birkaç iyi etkisi olduğunu buldum. İlk olarak, üst düzey bir kişinin kodunu anlayabildiklerinde onları daha güvenli kılar. Bu kodda bir hata bulabildiklerinde daha da güvenli hale getirir.

Onları kendi dışında düşünme süreçlerine maruz bırakır ve başka şeylerle başa çıkma yollarını görmelerini sağlar. Üst düzey bir insan olarak bile, bu başıma geldi - farklı bir sorunu çözmenin bir yolunu görmek, yeni olasılıklara göz açıcı olabilir.

Diğer insanların kodlarını okumayı öğrenmelerine yardımcı olur ve yazarın kafasında hala taze iken kodun ne yaptığını sorma şansı verir. Bu, yazarın çoktan gittiği veya başka bir projeyle meşgul olduğu ve sorular için vakti olmadığı altı ay sonra olayı sürdürmek zorunda kalmaktan çok daha iyidir.

Bu, yaşlılar için iyidir, çünkü sorular hem gençlerin zayıf olduğu ve mentorluk gerektiren potansiyel alanları ortaya çıkarır (böylece daha fazla sorumluluk alabilir ve yaşlılara başka türden görevler için daha fazla zaman verebilir) veya kodun açıkça anlaşılmadığı alanlar yazar dışında hiç kimse (yani, bir yıl sonra bile değiştirilmesi gerektiğine göre yazara açık bile gelmeyebilir). Ayrıca yaşlıların gençlerin kendilerine kredi verdiklerinden daha akıllı olabileceğini anlamalarına yardımcı olur. Herkesi profesyonel olarak ayakta tutmaya yardımcı olur. Sonuçta, eğer gençleri dışlarsanız, psikolojik olarak talihsiz olan kuralları anlayabileceklerini düşünmediğinizi açıkça ima edersiniz.

Yaşlılar kodunu inceleyen gençler, kuruluşunuzda daha profesyonel saygı gösterebilir. Yaşlılar, küçükleri küçümsemediklerini farkedebilir ve gençler, yaşlıların kredi verdiklerinden daha fazlasını bildiklerini fark edebilir. Gençler bazen sahip olduklarından daha fazla yeteneklerinin olduğunu düşünüyorlar. Yazamadıkları koda maruz kalmak bu insanlar için iyidir, çünkü öğrenecekleri daha çok şey olduğunu anlamaya başlarlar. Aynı zamanda yeteneklerini kazanmak için en iyisini teşvik edecek. Okulda bazen B öğrencileri, birisi onlara A çalışma seviyesinin bir örneğini gösterene kadar neden A almadıklarını anlamamaktadır. Kod incelemesinde yaşlılar için gençler ile aynı.


7

Cevabım: Bazen . Programlayıcıdan programlayıcıya ve görevden göreve değişecektir.

İçin:

  • Bu gençlerin etkili bir kod incelemesi yapmayı öğrenmelerini istiyorsanız, o zaman en iyi yol, yaşlıların nasıl yaptığını görmeleridir.
  • Küçük bir programcı, belirli bir dilde / alanda / etc'de kıdemli olandan daha fazla deneyime sahip olabilir.
  • Çocukları yaşlıların kodunu değerlendirmeye zorlayarak, kaçınılmaz olarak bir şeyler öğrenmeye başlayacaklar. Çifte programlama, bunu yapmanın daha etkili bir yolu olacaktır, çünkü gençlerin herhangi bir sorusu anında cevap alabilir.
  • Kimsenin kodu kutsal değildir ve hiç kimse kodunun gözden geçirilmemesi için o kadar iyi değildir. Bunu yapmazsan, en iyi adamlarının kodunu kim gözden geçirecek?
  • Tüm gençler eşit değil ve tüm yaşlılar eşit değil. Bazen çok fazla boşluk kalmayabilir, bu yüzden iş ünvanlarına takılmayın.

Karşısında:

  • Gözden geçirmelerin gençlerden gelen sorunlarla tıkanma riski vardır.
  • Gereken bilgi / beceri seviyesi, çocuğun yeteneklerinin ötesinde olabilir. Bu sadece zamanlarını boşa harcamakla kalmayacak, aynı zamanda muhtemelen onları moralini bozacak.

5

Ekipteki herkesin kod incelemelerinin her iki tarafında da yer alması gerektiğine inanıyorum. Gençler, Kıdemli kodu incelemeli ve bunun tersi de geçerlidir. Neden ikisi de? Çünkü genellikle sadece kodun “sorunu çözdüğü” olmasından ibaret değildir. Size bir kod parçasını kaç kez açıklamak zorunda kaldığımı ve aniden açıklama sonunda bunu yapmanın daha iyi bir yolunu bulduğumu söyleyemem. Kod incelemeleri muhtemelen 3 amaca hizmet eder:

  1. Kodun doğru olduğundan emin olun
  2. Yazarın, başkalarının kodlarını nasıl göreceğini düşünmesini isteyin
  3. Okuyucunun neyin geliştirilebileceği ve genel ikinci bir çift göz hakkında geri bildirim almasını sağlayın

Ben bir gencim ve genellikle kıdemli yazılı kodu gözden geçiririm. Bu genel bir şirket politikasıdır, "her şey birileri tarafından kod incelenir". Bunları kodlarını inceleyerek ve işlerin neden belirli bir şekilde yapıldığına dair sorular sorma fırsatına sahip olduğum için çok şey öğrendim. Ve bazen, belirli bir kod parçasını yapmanın daha temiz bir yolunu öneririm. Kodumu nasıl geliştireceğimi söyleyenlerden çok daha nadir, ama en azından bir kere oldu.

Ayrıca, kod incelemelerinizin ne kadar resmi olduğunu da önemlidir. Bizimkiler gayrı resmidir ve kabinlerde veya özel bir IRC kanalında söylenen "hey benim koduma bakacaksınız" dan ibarettir. Kodu daha resmi bir ortamda gözden geçirirseniz, junior muhtemelen üst düzeyin kodunu gözden geçirme konusunda çok daha korkutucu olacağını hayal edebiliyorum.


2

Kesinlikle, genç mühendisler, en azından bir kısmı kıdemli mühendisin kodunu gözden geçirmelidir.

Deneyimlerime göre, bire-bir kod incelemesindeki gözden geçirenin, gözden geçiricinin kıdemli veya küçük olmasına bakılmaksızın orijinal kodlayıcının özlediği bir hata görmesi oldukça nadirdir; Hakem insan olmak zorunda bile değil . Öte yandan, orijinal kodlayıcının kodu açıklamaya çalışırken bir hatayı fark etmesi ve inceleme uzmanı ne kadar küçük olursa, gereken açıklama derinliği nedeniyle bu o kadar olasıdır.

Bazıları, kod incelemesinin, uzun vadede hataları yakalamaktan daha önemli olduğunu düşündüğüm yararlarını göz ardı etti:

  • Aslında kod üssünde neler olup bittiğini paylaşma - "Bekle, bence Bill'in X olan bir sınıfı vardı, yeni bir tane yazmak zorunda değiliz."
  • İyi teknikler ve programlama stili bilgisini paylaşmak.

Her iki yönde de, bir genç eleştirmen, kıdemli bir gazeteciden daha fazla yararlanma eğilimindedir.


2

Küçük programcılar kesinlikle kıdemli meslektaşları için kod incelemeleri yapmalı!

Ancak, onlar sadece gözden geçiren olmamalıdır . Kod incelemesi başına daha deneyimli bir geliştirici ile eşleştirin.

Sayısız fayda var:

  • Yazar kendi kodunu daha fazla açıklamak zorunda kalacak. Kodunuzla konuşmak , onunla sorunları bulmanın en iyi yollarından biri veya daha iyi yapmanın yollarından biridir.

  • Yazar kendi kodunda zayıflıklar bulacak. Junior dev'in daha gelişmiş parçaların bazıları tarafından karıştırılması daha olasıdır. Sık sık, bunlar kendi iyiliği için "çok zor" ve basitleştirmeden yararlanabilirler.

  • Küçük dev daha iyi kodlama uygulamaları öğrenecek. Kod incelemeleri, örnek olarak öğretmek için bir fırsattır.

  • Küçük dev daha etkili bir kod incelemesi olacak. Kod incelemesi zor . Kod incelemelerinde herkes ne kadar deneyimli olursa, kod incelemeleri o kadar hızlı ve etkili olur.

  • Küçük dev, kod tabanı hakkında daha derin bilgiye sahip olacaktır. Bencil olmak! Ufak tefekleri erken çekerek, daha önce onlara devredebilirsin.

  • Küçük dev daha fazla dahil hissedecek. Küçük öğrenci "kıdemli" kodu (ve meslektaşlarını) daha az yabancı ve korkutucu olarak görmeye başlayacak. Bu, kod incelemelerinin muazzam ve sıklıkla göz ardı edilen bir faydasıdır.

  • Küçük dev, taze bir göz kümesidir. Uzun zamandan beri kod bazında çalışan biri kadar telsiz değiller. Junior dev, soru sordukça bir şeyleri gerçekleştirmenin farklı yollarını gösterme eğilimindedir. En az bir değerlendirme yapmadan wilder yorumlarını silme!

  • Yaşlılar sorumlu tutulur. Yaşça daha büyük devlerin birbirlerinin kodlarını (güven, tembellik, vb.) Parlama eğiliminde olduğu durumları çok sık gördüm. Ekstra bir göz kümesi onu caydırmaya yardımcı olur.

Dikkate alınması gereken dezavantajı, katılan tüm tarafların kod incelemeleri yapmak için oldukça fazla zaman harcayacakları yönünde. Bu nedenle, yönetim için zor bir satış biraz olabilir. Faydaları, yavaş yavaş, ancak ağır basmaktadır.


0

Kod incelemesi için değil, kod incelemesi için bir kod incelemesi yapılır. Küçük bir programcı olsaydım, kıdemli kodunu incelemekten korkardım.

Öte yandan, Kıdemli'nin kodunu okumak, Kıdemli'nin tüm soruları yanıtlamak için hazır olması şartıyla mükemmel bir öğrenme yöntemidir.

İki alternatif olabilir:

  • Gençlerin kod inceleme toplantılarına katılmasına ve her katılımcının bazı öğretme / öğrenme tartışmalarına açık olmasına izin verin.
  • Uygulama çifti programlama

7
Kod incelemeleri öğrenme deneyimleri olabilir. Bu, tamamen katılıyorum dediler, temel amacı bu değil . İdeal olarak, tüm ekip üyeleri katılmalı, ancak amacınızı görüyorum, (gerçekten) küçük bir geliştiricinin kusurları gösterecek kadar emin olması biraz zaman alacaktır (ilk önce onları tanımlayabildiğini varsayarak, ki bu benim de yapamayacağım bir şey) dürüst bir şekilde, bir üst düzeyin kodunu gözden geçiren bir çocuktan beklenir).
yannis

OP, genç programcının iyi becerilere sahip olduğunu açıkça belirtti. Az deneyim yok değil her zaman daha düşük kalitede kod değerlendirmeleri demek.
Cascabel

@Jefromi: OP açıkça kod incelemesinin amacını öğrenmeye ayarlamak istediğini söyledi. Ben sadece bunun ne anlama geldiğini değil diyorum.
mouviciel

Hm, OP’yi farklı bir şekilde anladığımızı düşünüyorum - gönderim öğrenmeye önem veriyor, ancak aynı zamanda genç programcının tek kişi olmadığını ima ederek “kod gözden geçirenlere dahil” diyor.
Cascabel
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.