Matplotlib projesi

Bu sayfa, Google Dokümanlar Sezonu için kabul edilen bir teknik yazı projesinin ayrıntılarını içerir.

Proje özeti

Açık kaynak kuruluşu:
Matplotlib
Teknik yazar:
jeromev
Projenin adı:
Matplotlib Giriş Yolları Geliştirme
Proje süresi:
Standart uzunluk (3 ay)

Proje açıklaması

Giriş

Matplotlib’in bu yılki Google Dokümanlar Sezonu için proje önerisi, Matplotlib'i yeni kullanıcılara tanıtmaya yardımcı olan içerikler oluşturmayı içeriyor. Matplotlib Giriş Yolları'nın geliştirilmesi için mevcut belgelemeye alternatif bir yaklaşım öneriyorum. Sektörde yeni bir teknik yazar oldum; ancak deneyimim eğitim ve eğitimle ilgili alanlarda. Teknik yazı ve eğitim konularında, kullanıcıların sağlanan kaynaklarla empati kuran ve görevlerini tamamlamalarına olanak tanıyan içerikler üretmeye odaklanan benzerlikleri vardır.

Bu bağlamda Matplotlib belgeleri, yeni kullanıcılarla empati kurulmasını iyileştirmek için yararlı olur. Şu anda kullanılan materyallerin çoğu, rastgele veriler ve etiketlenmemiş görsellerden oluşuyor. Bunlar, Matplotlib'in görsellerini ve özelliklerini hızlı bir şekilde göstermek için mükemmeldir. Ancak Matplotlib'i kullanmaya yeni başlayan biri için veri dönüşümünü görsellere aktarmak zordur.

Bilgilendirici yaklaşımda bağlam kullanmak bu engele bir çözüm sunar. Gerçek dünyadan bir örnek üzerinden bir prosedür yazarak kullanıcının çalıştığı ortamı anladığınızı göstermiş oluyoruz. Bu, bir hedefe ulaşma veya bir görevi tamamlama beklentisi açısından belgeleme ve kullanıcı arasındaki ilişkiyi geliştirir.

Bir kullanıcının tutarlı şekilde türetilmiş bir amacı vardır. Örneğin, bir ayakkabı şirketindeki veri bilimci, zaman içindeki alışveriş trendlerini göstermek için müşteri verilerini ekibe sunmalıdır. Bu durumda, kullanıcı Matplotlib'de gezinmeyi ve görevi tamamlamak için kitaplıktaki araçlardan yararlanmayı öğrenmelidir.

Dokümanları destekleyecek ek bağlam sağlandığında yeni bir kullanıcı konuyu daha iyi tanıyabilir. Kullanıcının türettiği amaç, sunulan dokümanlarla paraleldir. Baş Geliştirici Tom Caswell'in 2017'de yaptığı bir röportajda açıkladığı vizyon doğrultusunda, "200 sayfalık 'Matplotlib'e Giriş' adlı 200 sayfalık bir kitap hazırlayıp bunu belgelemeyi isteyen birinin, kullanıcılara gerçekten yazması ve onlarla empati kurabilmesi ve belgelere giriş için bu kişinin olmasını umuyorum."

Üsluplu Yazmaya Alternatif Yaklaşım

Mevcut dokümanlarda, Matplotlib'in özellikleri, yani kullanıcının kitaplıkta yapabileceği işlemler gösterilmektedir. Örneğin, bir eğitim genellikle temel yöntemin açıklamasını içermeyen kalıbı izler.

{what the method does} -> {parameters} -> {returns} -> {related links} -> {examples}

Çoğu zaman programlama belgeleri ve destek ile kullanıcının ne olduğunu anlamak için kodu kendi başına çalıştırması önerilir. Programlama yaklaşımı, kullanıcının konuyu anlamasını desteklese de dönüşümlere ilişkin öğrenme eğrisinin destekleyici içeriği çok azdır. Belgeler sınırlı olduğundan bu çok zor bir iş olabilir.

Ek diyagramlar, resimler veya başka görseller sağlamak yeni öğrenim fırsatları yaratmaya yardımcı olur. Aşağıdaki yapı, yeni içerik için bir şablon olarak da kullanılabilir. Ayrıca, metin harici resimler veya grafikler eklemek için açıklama metinleri ve yol gösterici bilgiler gibi özelliklerden yararlanabilirsiniz. Kodun çalıştırılan çıkışa nasıl veya nerede dönüştürüldüğüne dair göstergeler olmadan görüntülerde gezinmenin daha zor olduğu zamanlar vardır. Konuların daha iyi anlaşılmasını sağlayabilecek güçlü bir görsel öğenin eksik olduğuna inanıyorum.

{method explanation} -> {expository use case/scenario} -> {sample code} -> {parameters} -> {returns} -> {additional examples} -> {informational topic/subject affinity links}

Dokümanlar için açıklayıcı bilgi hazırlamaya yönelik bu alternatif yaklaşımda büyük bir potansiyel söz konusudur. Kullanıcılar dönüşümle ilgili çeşitli kavramlar gördüklerinde, verileri görselleştirmeye yönelik temel stratejileri daha iyi belirleyebilirler. Bu bilgiler, kullanıcıların yenilik yapmasına ve gerçekçi kullanım alanlarına dayalı örneklerde sunulan özelliklerden yararlanmasına yardımcı olabilir.

Matplotlib'in popülerliği arttıkça, kullanım kolaylığı ve ulaşılabilirlik konusundaki tutarlılık kitaplığın itibarını kanıtlıyor. Bu özellikler, yalnızca kod içinde değil, aynı zamanda belgelerde de ortaya çıkabilen kalıpları ve yaygın stratejileri ortaya koyar. Matplotlib, kullanıcılar için basit ve standart bir şekilde programlanıyorsa ve artan kullanımında da belirgin olarak görülüyorsa, teknik belgeleme için de bu durum söz konusu olabilir.

Kullanıcılar sorunlarla karşılaştıklarında, çözmek için arama işlevi yaygın olarak kullanılır. Birincil gezinme yöntemi olarak aramadan yararlanmak yerine, kullanıcıların dokümanlar içinde kendi müfredatlarını oluşturmalarını sağlamak daha etkili olabilir. Bu anlamda, kullanıcı sorunu için bir çözüm arar ve başka bir sorunla karşılaştığında ya da daha fazla bilgi istediğinde, site genelinde yerleşik ve kapsamlı bağlantılardan yararlanır.

Bu, kuruluş sisteminde aşağıdan yukarıya bir mimariyi içerir. Matplotlib'teki her konu için bilgilendirici konuların yanı sıra yakın ilgi alanlarına yönelik zengin bir bağlantı ağı sağlam bir ağ oluşturmaya yardımcı olur. Bu ağ genelinde, bir kullanıcının konusuna gidip o konuyla ilgili daha fazla bilgi keşfederken dokümanları kullanmaya devam etme olasılığı daha yüksektir.

Engeller

Bir projenin her zaman bu kadar kapsamlı ve ayrıntılı olması gereken zorluklar vardır. Sektörde daha yeni bir teknik yazar olarak Sfenks ve ReST'i kullanma konusunda sınırlı deneyime sahibim. Matplotlib ve Git konusunda da acemiyim. Bu dört sistemi ele almak, ortak çalışma ve araştırmalarda bu sistemleri kullanmaya alışmak zaman alacak. Giriş seviyesindeki yollar için gerekli temeli oluşturmak amacıyla topluluk bağ kurma aşamasında ve öncesinde zaman ayırmam gerekecek. Bu süre zarfında kavramlar ve temel bilgilerle ilgili sorun yaşarsam ek destek almak için toplulukla iletişime geçmem gerekir.

Farklı saat dilimlerinde ve online platformlarda koordineli şekilde çalışan iş birliğini geliştirmek de bazı düzenlemeler gerektirecektir. Sektördeki birçok insanın kullandığı çeşitli iletişim yolları var. Bu nedenle önemli olan, tüm ortamlar için erişilebilir ve ulaşılabilir olmam. Program boyunca farklı beklentilere öncelik verirken şeffaf olacağım. Sektörde bu tür çalışmalara daha yeni başlıyorum ancak kendimi sorumlu tutma, geri bildirim ve eleştirilere açık olmayı önemsiyorum. Bu niteliklerin hangi alanda olursa olsun kıymetli olduğunu düşünüyorum.

Ayrıca kullanılabilirlik testinin artırılmasının Matplotlib’in giriş yollarına fayda sağlayacağına inandığım bir doküman bölümü. İçeriğin kullanılabilirliğine ilişkin anketler düzenlemek, bir kullanıcının profilini (ör. karakterler) sağlama amacına hizmet eder. Kullanıcının deneyimi, sektörü ve sorun giderme geçmişi gibi bilgiler değerlidir. Bu parçalar sürecin ardındaki dilin oluşturulmasına yardımcı olur. İçerik, okuyucuların kendi düzeyinde bir araya gelmesiyle olgunlaşarak yalnızca bir öğretici olmaktan ibaret değildir.

Büyük zorlukların temelinde genellikle süregelen bir kullanılabilirlik testi uygulaması oluşturmak yatar. İçerik geliştirme sürecinde tek bir kez teste tabi tutulmak çok yaygın bir durumdur. Düzenli kullanılabilirlik testleri, içeriğin anlatımına katkıda bulunur. Bir program oluşturmayı veya Matplotlib topluluğuyla yinelenen kullanılabilirlik testleri yapmayı umuyorum.

Sonuç

Boş zamanlarımda Python ve Matplotlib kullanımı konusunda biraz deneyimim var. Son birkaç ay içinde kendi kendime öğrendiğim bilgiler, edindiğim belgelerle ve kendi merakımla öğrendim. O dönemde birçok videom ve mentorum da oldu. İlgimi çeken kendi programlama müfredatımı oluştururken hâlâ öğrenecek çok şeyim ve daha da fazla gelişim alanım var.

Matplotlib ve topluluğunun GSoD için fikirlerine baktıktan sonra, teknik yazar olarak becerilerimi geliştirmenin ve sahne arkasındaki kişilerle daha fazla bilgi edinme şansı elde etmenin mükemmel bir deneyim olacağını düşünüyorum. Bu Matplotlib projesinin hem anlamlı olduğunu hem de ideolojide tutkulu olduğum bir şey olduğunu hissettim.

Kullanım kılavuzunun gözden geçirilmesi üzerinde çalışırken teknik yazar olarak hedefim kullanıcıların mevcut özelliklerden boğulmadan istedikleri görevleri gerçekleştirmelerine yardımcı olmaktır. En iyi belgelerin gelişmeye ve kullanıcılara uygun hale gelmeye devam edeceğine ve tüm kullanıcıların kendi çözümlerine ulaşmasına olanak tanıyacağına inanıyorum.