フロントエンド開発者は、バックエンド開発者向けにJSON形式を指定する必要がありますか?


17

私はプロジェクトでフロントエンドの役割を担っています。PHPがJavaScriptに返すJSONの正確な形式をバックエンドチームメイトに指定する必要がありますか?

たとえば、ここで説明する形式と同様の形式を使用する必要があることを伝えます。

フロントエンドで使用するためのJSONを適切に構成する方法

または、自分の役割を可能な限り無菌状態に保ち、単にバックエンドインターフェイスから必要な入力と出力を言葉で説明する必要がありますか?(もちろん、これが発生した場合、異なるデータ構造形式を処理することは私の側でより困難になる可能性があります)


10
彼らが一般的な意見に基づいて最初の提案をすることは理にかなっていることがわかりました。しかし、それは会話が最初の提案で止まるという意味ではありません。
ダグT. 14

それは理にかなっている!
LazerSharks 14

4
誰かがJSONに含まれるデータの正確な形式を指定する必要あります。あなたかもしれません。本当に、仕様を作成した経験が最も多い人でなければなりません。
gnasher729

2
@ gnasher729:または形式が非常に単純で、両方の当事者が指定する資格以上のものであると確信している場合、それを指定する必要があることを知る必要がある最初のコードを書く人は誰でも。また、これは、多くの場合、で人を使用することをお勧めします、それを行うには人は常に最も経験を有する者であってはならないことを言うかもしれない彼らのテストを始めることが;-)一般的なものでは最速で誰でもへのご褒美とみなすことができる少なくとも誰がタスクに十分であるかを経験しますが、それは人の発達の問題です。
スティーブジェソップ14

回答:


42

これは、さまざまな形式の要件と長所と短所について話し合うために一緒に行うべき会話です。

どちらか一方が何が起こるかを指示している場合、あなたは悪いソフトウェアと不幸なチームになってしまうでしょう。


1
それは理にかなっている!開発世界で実際に/通常何が起こるのか疑問に思っていました。
LazerSharks 14

5
正しい。一緒に作業します。それが少し複雑なものであれば、理想的には、開発をより簡単/迅速にするために、両端のライブラリでサポートされている共通の形式を見つけます。
AE 14

9

JSONの形式と構造がどのように見えるかについて、最も明確に貢献する必要があります。APIの消費者であるフロントエンドエンジニアが、データ構造のあり方を知っている人であることがよくあります。

あなたは、データを使用し、フォーマットし、ループし、それで作業する人です。配信方法について意見を持っている必要があります。


3

ミドルウェア開発の素晴らしい世界へようこそ。プロトコルを開発するのは大変な労力と議論になる可能性があり、誰も結果を見るべきではありません。

あなたが小さなチームにいる場合は、独裁者を避けてください:プロトコルを打ち出すために皆とのクイックミーティングを持っています。

中規模のチームは、プロトコルを実行する代表者を希望する場合があります。

大規模なチームおよび/または複雑な組織を持つチームには、プロトコルを制御する専用のミドルウェア担当者が必要です。

すべての場合に文書化!前提条件とは何か、事後条件とは何か、必須フィールドとは何か、オプションフィールドとは何か、副作用とは何か、返されるエラーとは… 新しい条件、エラータイプ、副作用が見つかったときにドキュメントを維持する、その後、ドキュメントに追加されます。

また、ドキュメントへの準拠を確認するために、クライアント側とサーバー側の両方の単体テストとシステムテストをお勧めします。

大変な作業のように思えるかもしれませんが、ここでの軽微なミスは非常に高価で時間がかかる可能性があります。


ああ、この側面に専念している全世界があることを知ってうれしいです。この側面は、フロントエンドとバックエンドの境界という点で、ゴムが実際に道路と出会う場所のように思えます。
LazerSharks 14

1

私はただ「なぜ」と尋ねるでしょうか?プロジェクトについて話しているときは、プロジェクトに取り組んでいるチームについても話します。使用される機能と構造についての意見を聞くことを期待し、歓迎すべきです。開発者として、私は個人的にチームメイトの貢献を信じ、大切にします。

「早く行きたいなら一人で行きたい。一緒に遠く行きたいなら」という言葉があることはご存知でしょう。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.