Követve vele ez a sorozat A Linux programozási készségeink fejlesztése érdekében elemezni fogjuk a programozási tevékenység második szakaszát. Megállapítottuk, hogy bár a kódolás a programozási feladat része, ez magában foglalja mindazokat, amelyek az alkalmazás által megoldandó probléma meghatározásától a működésre kész állapotig terjednek.
2. szakasz: A megoldás tervezése
Aki valaha is belekezdett egy projektbe, tudja, hogy az ideális megoldás ritkán egyezik meg a lehetséges megoldással.. Vagy nincsenek anyagi erőforrásaink vagy készségeink ezek megvalósításához. Ebben a szakaszban döntünk arról, hogy mit tehetünk azzal, amire szükségünk van:
Hogy megértsd, mire gondolok, mondok egy példát, amelynek semmi köze a programozáshoz.
Két gyermekes házaspár, ügyvéd és könyvelő. Mindegyik irodát bérelt. Úgy döntöttek, hogy megtakaríthatják ezt a pénzt, és emeletet emelhetnek a házukhoz, a földszintet a munkára, az első emeletet pedig a családi házra hagyják. Az elkészült tervekkel problémát találtak. A városi tanács nem engedélyezi a második emelet építését.
Legalább négy különböző megoldásuk van:
- Költözzön
- Bérelje újra az irodákat.
- Legyen egy szoba többcélú.
- Készítsen egy második emeletet újrahasznosított szállítótartályokkal.
Ugyanúgy, Valószínű, hogy amikor felvállaljuk az alkalmazásunk megtervezését, olyan dologgal találkozunk, amit nem tudunk vagy nem szabad megtenni. Természetesen egy professzionális programozónak figyelembe kell vennie ezeket a korlátozásokat a probléma tervezési szakaszában, de ezt amatőr programozóknak írjuk.
A jó hír az, hogy ahogy korlátozásaink vannak, vannak segítőink is.
Mielőtt folytatnánk a témát, meg kell határoznunk néhány kifejezést:
- Algoritmus: A Wikipédia szerint ez a meghatározott és egyértelmű, rendezett és véges utasítások vagy szabályok összessége, amelyek jellemzően lehetővé teszik a probléma megoldását, végezzen számítást, dolgozzon fel adatokat és végezzen egyéb feladatokat vagy tevékenységeket. Egy kezdeti állapot és egy bemenet alapján az egymást követő lépéseket követően a végső állapot elérésre kerül, és megoldást kapunk.
- API-k: Ez angolul az alkalmazásprogramozási felület rövidítése. Olyan definíciókból és protokollokból áll, amelyek lehetővé teszik két egymástól függetlenül kifejlesztett alkalmazás közötti kommunikációt, anélkül, hogy a felelősöknek ismerniük kellene a másik kódját. Például sok városban vannak mobil alkalmazások, amelyek megmondják a polgároknak, hogyan juthatnak el egyik helyről a másikra. Ehhez olyan térképszolgáltatásokra támaszkodnak, mint a Google Maps vagy az OpenStreetMaps. Az ingyenes vagy fizetős API használatával rengeteg programozási időt takaríthat meg, és olyan funkciókat is beépíthet, amelyek elérése egyébként lehetetlen vagy részleges.
- Könyvtár: Vannak, akik könyvesboltnak nevezik őket, közvetlen fordítást készítenek angolból, de mivel a könyvesboltom a könyvek értékesítésének helye, a könyvtár megfelelőbbnek tűnik.. Ezek általános és speciális célú kisalkalmazások, amelyeket más programok is használhatnak. Például kinyomtathat egy fájlt PDF formátumban.
- Keretrendszer: Ismered a Legót? Ezek azok a műanyag téglák, amelyek egymásba vannak ágyazva, és felhasználhatók a dolgok építéséhez. Jó, A keretrendszerek különböző összetevők és sablonok, amelyekre építheti a projektet. Ezek közül sok nyílt licenc alatt érhető el.
- Programozási nyelv: Rólad van szón nyelv jól definiált nyelvtani szabályokkal, amelyek leírhatók algoritmusokba csoportosított utasítások vagy parancsok sorozata. Vannak nyelvek meghatározott célokra (adatelemzés, játékkészítés) és mások általános célokra.
Azért nevezem őket segítőnek, mert bármit, amit programoznia kell, biztosan valaki már megtette, és az interneten végzett kereséssel vagy megtalálja a másolni vagy beilleszteni kívánt kódot, vagy útmutatóként a módosítások elvégzéséhez
Ebben a szakaszban gyűjtjük össze azokat az anyagokat, amelyekből a megoldást felépítjük. Kiválasztunk egy programozási nyelvet, egy integrált fejlesztői környezetet, könyvtárakat, és ha rendelkezésre áll, egy keretrendszert. Mint sok más dologban a szabad szoftverek világában, minden eszköznek vannak rajongói és ellenzői. A legjobb, ha addig próbálkozik, amíg meg nem találja az Ön számára legkényelmesebb kombinációt.