From qrczak@knm.org.pl Sun Aug 8 22:06:55 1999 Path: cyfronet!intranet.rmf.pl!moderators!lgrochal Message-ID: From: qrczak@knm.org.pl (Marcin 'Qrczak' Kowalczyk) Newsgroups: pl.rec.humor.najlepsze Subject: Re: Jak pisac programy pod Linuxa (troche off-topic) Date: 30 Jul 1999 02:08:58 +0200 Lines: 98 Followup-To: poster Organization: p.r.h.n. Moderators Inc. Sender: prhn@intranet.rmf.pl Approved: lgrochal@rmf.pl NNTP-Posting-Host: intranet.rmf.pl X-Server-Date: 30 Jul 1999 00:08:59 GMT Content-Length: 4867 X-Moderator: Lukasz Grochal X-Moder-Tool: modArc v1.034faq, last rev. 1997.01.06/lg19990518 Newsgroups: pl.comp.os.linux Date: Tue, 27 Jul 1999 01:47:25 +0200 From: Wer Subject: Jak pisac programy pod Linuxa (troche off-topic) Message-ID: <379CF38D.DB253DAF@webcom.pl> Teksk powstal po skompilowaniu kilku programow i ich konfiguracji. Pisz skrypty shellowe, jesli sie nie da to pisz w Perlu. Jesli uzytkownicy beda narzekac, ze wolno chodzi mozesz ich wyslac do diabelskich wrot (Debill Gate), zaproponowac, zeby kupili 16 procesorowy komp, uruchomili program w tle lub wszystko na raz. Jesli nie da sie napisac programu w Perlu, to musisz siegnac po C. Wtedy masz kilka mozliwosci. Po pierwsze pisz wlasna biblioteke. Co prawda jest juz kilkadziesiat, ale kazda nastepna sie przyda. Ale pamietaj, zeby przy kazdej nowej wersji programu wypuscic nowa wesje biblioteki. Oczywiscie biblioteka musi miec inna numeracje niz program i byc calkowicie niekompatybilna z poprzednia wersja. Przykladowo jesli program bedzie mial numer wersji 1.1.345.234.454 to biblioteka moze miec numer 234.43.211.123543244646. Warto dawac jak najdlusze numery wersji. I wypuszczac tych wersji jak najwiecej. Zmiana jednej instrukcji powinna pociagac za soba zmiane wersji. Pozwoli to odpowiadac na pytania userow, ze ta wersja nie obsluguje ich sprzetu i powinni siegnac po inna. Jesli sprawdza wszystkie wersje, to mozna zaczac zabawe od poczatku podajac numery bibliotek. Dodatkowo, jesli program ma chodzic pod X-ami, warto stworzyc osobne biblioteki dla shella i X-ow. I oczywiscie odpowiednia numeracje. Nalezy tez dodac biblioteki dla osob samodzielnie kompilujacych program. Warto rozwazyc, czy nienalezaloby wprowadzic odmiennej numeracji dla tych wersji bibliotek. Jezeli juz jestesmy przy zrodlach to nalezy wspomniec o kilku sprawach. Nalezy przygotowac plik configure z jak najwieksza liczba opcji. Najlepiej niech uzytkownik podaje wszystkie uklady scalone jakie ma w komputerze (dla sadystow mozna zadac dat bios-u, roku produkcji poszczegolnych ukladow). Oczywiscie opcje, ktore musza byc w programie niech tez pozostana umieszczone w opcjach. Oto fragment dobrego configa: Jaki masz procesor? Jaka masz karte graficzna? Jaka masz plyte glowna? Typ obudowy? Monitor? Jaki dysk twardy? Jaka stacje dyskietek? Jaka karte muzyczna? Jaki masz modem? Jaka masz drukarke? Czy wkompilowac petle glowna? Czy wkompilowac podstawowe procedury I/O? To jest oczywiscie przyklad. Config powinien liczyc nie mniej niz 300 pytan. Pozwoli to odeslac do diabelskich wrot kazdego. Jesli bedzie sie awanturowal, ze cos nie dziala mozesz sie spytac czy prawidlowo wypelnil configa. Zaden uzytkownik nie bedzie tego pewien. A na pytanie, po co tyle opcji mozesz zawsze odpowiedziec, zeby dac wolnosc wyboru. Jesli Cie przycisnie przygotuj takze wersje wykonywalne. Sa dwie drogi minimalistyczna i bardziej pracochlonna, ale dajaca o wiele wiecej satysfakcji. W wersji minimalistycznej budujesz program wkompilowujac wszelkie dostepne funkcje. Daje to pokaznych rozmiarow program, ktory dziala dosc wolno. W drugim wariancie wkompilowujesz tylko te opcje, ktore sa najmniej przydatne. Teraz przychodzi pora na pliki konfiguracyjne. Musi byc ich jak najwiecej. Kazdy z nich musi byc umieszczony w innym katalogu i powinien miec conajmniej 10Kb. Jesli plik bedzie za maly, zawsze mozna go dopchac niejasnymi komentarzami, albo kopiami z niewielkimi zmianami. Oczywiscie konfiguracja programu musi sie odbywac tylko recznie. Najlepiej, jesli udaloby sie zrobic tak, ze jedynym edytorem, ktorym mozna dokonywac zmian jest ed. Pod zadnym pozorem konfiguracja nie moze odbywac sie przez menu albo przez program w X-ach. Jesli jednak cos Ci odbije i zechcesz stworzyc latwiejsza konfiguracje, musi to byc osobny program. Zawsze pozostaje przy tym mozliwosc stworzenie odpowiednich plikow konfiguracyjnych dla programu konfiguracyjnego. Wazne, zeby konfiguracja programu konfiguracyjnego byla trudniejsza niz konfiguracja programu glownego. Na koniec pozostaje napisanie dokumentacji. Jest to zadanie proste. Do wersji 234.232.5335.56454.322-14 umieszczasz informacje, ze dokumentacji nie ma. Potem piszesz dokumentacje na podstawie FAQ-ow i Fack-ow. I to koniec pracy. Przy kazdej nastepnej wersji zmieniasz tylko numer w pliku readme. Mozesz dopisac ewentualnie wprowadzone zmiany. Oczywiscie nie musze dodawac, ze dokumentacja powinna byc maksymalnie niejasna. Rzeczom oczywistym nalezy poswiecic jak najwiecej miejsca, a rzeczy skomplikowane (tych bedzie wiecej) mozna pominac milczeniem albo wspomniec mimochodem. I to juz koniec rad. Milego programowania ;)) - -- ______________________________________________________________________ |Piotr Karkucinski|Pozdrow moich kolegow, powiedz im, ze dnia pewnego| | wer@webcom.pl | spotkamy sie wszyscy tam w Fiddler's Green | ---------------------------------------------------------------------- -- Ten artykuł został zaaprobowany tylko i wyłącznie na podstawie kryteriów wymienionych w FAQ grupy pl.rec.humor.najlepsze. Za treść odpowiedzialna jest osoba proponująca umieszczenie danego artykułu na łamach grupy pl.rec.humor.najlepsze.