Bir ön uç geliştirici, arka uç geliştiriciler için hiç JSON biçimini belirtmeli mi?


17

Bir projede ön uç rolü üstleniyorum. Arka uç takım arkadaşlarım için PHP'nin JavaScript'ime döndürdüğü tam JSON biçimini belirtmeli miyim?

Örneğin, onlara burada açıklanan biçime benzer bir biçim kullanmaları gerektiğini söylüyorum:

Ön uç tüketimi için JSON'u yapılandırmanın uygun yolu

Yoksa rolümü olabildiğince steril tutmalı ve arka uç arayüzünden ihtiyacım olan giriş ve çıkışları kelimelerle açıklamalıyım? (Tabii ki, bu olursa farklı veri yapısı formatlarını ele almak benim açımdan daha zor olabilir)


10
Genel öneriye dayalı ilk teklifi yapmanın anlamlı olduğunu görebiliyordum. Ancak bu, ilk teklifte konuşmanın durduğu anlamına gelmez.
Doug T.

Mantıklı!
LazerSharks

4
Birisi JSON'da bulunan verilerin tam biçimini belirtmelidir. Siz de olabilirsiniz. Gerçekten, özellik oluşturma konusunda en fazla deneyime sahip olan kişi olmalı.
gnasher729

2
@ gnasher729: veya biçim o kadar basitse, her iki tarafın belirtmek için daha nitelikli olduğundan eminseniz, belirtmesi gereken ilk kodu yazan kişi yazar. Bu aynı zamanda testlerine başlamak için en hızlı olana bir ödül olarak kabul edilebilir ;-) Genel olarak, bunu yapmak için kişinin her zaman en fazla deneyime sahip kişi olmaması gerektiğini söyleyebiliriz, genellikle en az kişiyi kullanmak daha iyidir görev için yeterli olan deneyim, ama bu bir kişisel gelişim meselesidir.
Steve Jessop

Yanıtlar:


42

Bu, farklı formatların gereksinimlerini, artılarını ve eksilerini tartışarak birlikte olmanız gereken bir konuşmadır.

Bir taraf ya da diğer taraf ne olacağını dikte ederse, kötü yazılım ve mutsuz bir takımla sonuçlanacaksınız.


1
Mantıklı! Gelişim dünyasında gerçekten / genellikle neler olduğunu merak ediyordum.
LazerSharks

5
Sağ. Üzerinde birlikte çalışıyorsun. Biraz karmaşık bir şeyse, ideal olarak, gelişimi daha kolay / daha hızlı hale getirmek için her iki uçta kütüphaneler tarafından desteklenen ortak bir biçim bulursunuz.
AE

9

En önemlisi, JSON'un biçiminin ve yapısının nasıl olması gerektiğine katkıda bulunmalısınız. Ön uç mühendislerin, API tüketicilerinin, veri yapısının nasıl olması gerektiğini bilenler olduğunu daha sık görüyorum.

Verileri kullanacak, biçimlendirecek, üzerinde dolaşacak ve onunla çalışacaksınız. Nasıl teslim edilmesini istediğiniz hakkında bir fikriniz olmalı.


3

Ara katman geliştirme harika dünyasına hoş geldiniz. Bir protokol geliştirmek çok zor bir iş ve tartışma olabilir ve hiç kimse sonuçları görmemelidir.

Küçük bir ekipte iseniz, diktatörden kaçının: protokolü çıkarmak için herkesle hızlı toplantılar yapın.

Orta büyüklükteki ekipler protokolü çalıştıran temsilcilere sahip olmak isteyebilirler.

Büyük ekipler ve / veya karmaşık organizasyona sahip ekipler protokolü kontrol etmek için özel ara katman kullanıcılarına sahip olmalıdır.

Her durumda belge! Önkoşullar nelerdir, post-koşullar nelerdir, zorunlu alanlar nelerdir, isteğe bağlı alanlar nelerdir, yan etkiler nelerdir, hangi hatalar döndürülür… Belgeyi yaşatın, Yeni koşullar, hata türleri veya yan etkiler bulunduğunda , daha sonra belgeye eklenirler.

Ayrıca, belgeye uygunluğu sağlamak için hem istemci hem de sunucu tarafı birim testleri ve sistem testleri öneririm.

Çok fazla iş gibi görünebilir, ancak buradaki küçük yanlış adımlar çok pahalı ve zaman alıcı olabilir.


Ah, bu yöne adanmış bütün bir dünya olduğunu öğrendiğim için mutluyum. Bu yönün, lastiğin ön uç ve arka uç arasındaki ayrım açısından gerçekten yolla buluştuğu yer gibi göründüğünü düşünüyordum.
LazerSharks

1

Neden diye sormuyorum? Bir projeden bahsederken, üzerinde çalışan ekip hakkında da konuşuruz ve beklenen özellikler ve kullanılan yapı hakkında fikir duyması beklenir ve memnuniyetle karşılanmalıdır. Bir geliştirici olarak şahsen inanıyorum ve takım arkadaşlarının katkılarına değer veriyorum.

Biliyorsunuz "hızlı gitmek istiyorsan, yalnız git. Eğer çok uzaklaşmak istiyorsan".

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.