Kategorie: IT

Není program jako program!

Existuje hodně lidí co o sobě tvrdí, že jsou schopní programátoři - jak se ale pozná schopný programátor? Jak jinak než podle kodu - ten by měl být krátký, ale plně funkční, ošetřený od chyb, ale neomezovat uživatele atd...

Autor: KdoSiOdJinud | Vydáno: 13.1.2009 14:23 | Přečteno: 11084x | Komentářů: 0

Jeden moc chytrý člověk se záměrem mě nechat přemýšlet mi položil na pohled jednoduchou otázku: jak bys vypsal čísla dělitelná 4 z řady čísel

Okamžitě jsem odpověděl: duplicitní čísla bych smazal a postupně načítal čísla k dělení - při výsledku bez desetiných mist bych měl dělitelné číslo, odpověď byla reálná, ale mohla být mnohem lepší... ;o)

Abych ukázal rozdílnost a učinnost některých scriptů napsal jsem 4 jednoduché - měřil jsem za jak dlouho vygenerují jednotlivé scripty 10 000 souborů *.hack

První script:

for /l %%a in (1,1,10000) do echo hack > %%a.hack

Soubory byly vytvořeny během 47s...

Druhý script který ověřuje (zdlouhavě ale jde o ukázku) zda bylo vše vytvořeno správně:

for /l %%a in (1,1,10000) do echo hack > %%a.hack
for /l %%a in (1,1,10000) do if not exist %%a.hack goto chyba
pause
exit
:chyba
echo off
color 47
cls
echo Jeden nebo vice souboru nebylo vytvoreno!
pause


Soubory byly vytvořeny během 72s...

Třetí script řešen pomocí přepisování proměné:

set /a cislo=10000
echo Nastaveno %cislo% soubru
pause
:zacatek
echo hack > %cislo%.hack
set /a cislo=%cislo%-1
if /i %cislo% geq 1 goto zacatek

Soubory byly vytvořeny během 82s...

Čtvrtý script řešen přepisem proměné a následným ověřením:

set /a cislo=10000
:zacatek
echo hack > %cislo%.hack
set /a cislo=%cislo%-1
set /a overeni=%cislo%+1
if exist %overeni%.hack (if /i %cislo% geq 1 goto zacatek) else (goto chyba)
echo toto neni konec
:chyba
echo vyskytla se chyba
pause
:konec


Soubory byly vytvořeny během 118s..


Co z toho vyplývá?

Jedna úloha muže být řešena nespočtem řešení, dobří programátoři najdou to správné - ti špatní budou zastánci vysokého výkonu...

Poklona těm kteří dokáží napsat program - bezpečný, rychlý a nenáročný...

Komentáře rss

Pokud hledáte službu či máte dotaz mimo téma článku, využijte prosím sekci Nabídky / poptávky.


Nebyly přidány žádné komentáře.