2009-10-17 6 views
5

Załóżmy, że wymyślę jakiś superpowtarzalny sposób przedstawiania danych, które moim zdaniem byłyby użyteczne dla innych osób. Załóżmy, że mam "specyfikację" w jakiejś formie, nawet jeśli nie jest ona całkowicie formalna: tzn. Wiem, jak ten format pliku będzie działał.Jeśli chciałbym zdefiniować format pliku, jak bym to zrobił?

W jaki sposób mam wydać tę specyfikację, aby uzyskać komentarze i opinie na jej podstawie? Jak mogę uzyskać "standaryzację" w jakiejś formie?

+0

Reprezentować dane w jakiej formie? Jakie dane? Czy mówisz o kompresji? – Nifle

+0

Binarny. Zaszyfrowane dane. Niekoniecznie, choć może w pewnym momencie. –

+1

Opublikuj RFC. – Artelius

Odpowiedz

3

Określanie formatów plików jest trudne. Jeśli dane, które chcesz przechowywać, są trywialne, zwykle są banalne. Ogólnie jednak tak się nie dzieje. Możesz użyć struktury RFC i słów kluczowych, ale zawsze uważałem, że określanie formatu pliku w prozie to powolne, trudne i nudne zadanie, także dlatego, że czytanie go jest równie trudne.

Moja sugestia, jeśli chcesz podążać tą drogą, to skupić się na blokach informacji. Większość problemów dotyczy podmiotów, które są opcjonalne i są obecne tylko w przypadku wystąpienia innego warunku, więc staraj się wykorzystać to przy partycjonowaniu danych.

Najlepszy spec, IMHO, to prawdziwy kod z uberperfect testsuite.

Jeśli chodzi o standaryzację, jeśli wystarczająca liczba osób go używa, staje się ona standardem de facto. nie potrzebujesz do tego oficjalnej pieczęci, chociaż jeśli format jest wystarczająco używany, możesz skorzystać z oficjalnego rodzaju mime.

Aby o tym mówić, to zależy. Uznałem, że przydatne jest mówienie w kategoriach podmiotów zorientowanych obiektowo, a także w kategoriach relacji. Diagramy bazy danych są bardzo przydatne w tym względzie.

Wreszcie, spróbuj najpierw znaleźć przyzwoitą już standardową alternatywę lub przynajmniej staraj się nie radzić sobie z nieprzetworzonymi bitami. Istnieje wiele doskonałych formatów kontenerów, które pozwalają uwolnić się od wielu irytujących zadań. Wybór kontenera zależy od faktycznego rodzaju formatu pliku (np. Jeśli potrzebujesz szyfrowania, przeplatania, transakcji itp.).

+0

+1 dla: prawdziwy kod z uberperfect testsuite. – Nifle

+0

W tym konkretnym przypadku jest to "Yet Another Container Format". Jak powiedziałem w komentarzu do mojego pytania, dotyczy to szyfrowania i jestem na tyle sprytny, by wiedzieć, że nie jestem do tego wystarczająco inteligentny. O ile mi wiadomo, nic nie istnieje obecnie jak to, co proponuję. –

1

Sądzę, że jest kilka sposobów, w jakie bym się tym zajmował.

Najpierw należy sprawdzić, czy istnieje ciało standardów (np. W3C lub IEEE), które może być związane z formatem pliku. Jeśli tak, rzuć to na nich. Nie mam pojęcia, jak bardzo byliby otwarci.

Po drugie, standard jest bezużyteczny, jeśli nikt z niego nie korzysta. Zyskaj pęd za tym. Napisz post na blogu, twitter i stwórz na nim stronę internetową. Link do programming.reddit.com i slashdot. Opisz to swoim znajomym i współpracownikom. Opublikuj tutaj na SO i poproś o opinię.

HTH.

Powiązane problemy