ahoj,
jsem prudič, mám rád čistej kód, bez duplicit, návrhový vzory, takovej kód, co se čte jako poezie viz http://knihy.cpress.cz/cisty-kod.html
a lámu si hlavu, jak z tohodle kódu udělat jednu funkcičku. jednou potřebuju do logu zapsat datum, jednou vlastní nějakej řetězec, a předpokládám že nějaký takový podobný zapisování přijde...
function printDatum {
if [ -f $LOG ]; then
date >> $LOG
fi
}
function printString {
if [ -f $LOG ]; then
echo $1 >> $LOG
fi
}
Citace od: tojsemja kdy 21. 01. 2015, 15:54:23
mám rád čistej kód
Tak to BASH není nic pro Vás.
[code]
function printDatum
{
if [ -f $LOG ]; then
if [ -z $1 ]; then
date >> $LOG
else
echo $1 >> $LOG
fi
fi
}
v budoucnu budu do logu potrebovat vkladat info o sitovnym nastaveni, info o disku... a predstavuju si ze to vlepim sem. a z pohledu co pisou v ty knize tak si nejsem jistej jestli je zcela vhodne.. pokud $1 je prazdne, tak zapsat, jinak zapsat datum. takovej kod se neda nijak hezky rozsirit.. :)
function printString {
if [ -f $LOG ]; then
echo $1 >> $LOG
fi
}
function printDatum {
printString `date`
}
jinak ocenuju jednotnou konvenci pojmenovani funkci (Datum vs. String).
Tak ty funkci dej tech parametru vic, jeden z nich vystupni format, ne?
Tva otazka mi pripomina:
A: Na co jezdi spalovaci motor?
B: Na benzin
A: Ale ja chci mit kontejnerovou lod a letadlo a ty potrebujou mazut a na avgas, tva odpoved je prinejmensim nedostatecna
Citace od: aaaa kdy 21. 01. 2015, 16:35:44
Tak ty funkci dej tech parametru vic, jeden z nich vystupni format, ne?
Tva otazka mi pripomina:
A: Na co jezdi spalovaci motor?
B: Na benzin
A: Ale ja chci mit kontejnerovou lod a letadlo a ty potrebujou mazut a na avgas, tva odpoved je prinejmensim nedostatecna
v ty knize (fakt doporucuji precist) se dlouze pojednava ze cim vic ma funkce parametru, tim vetsi zlo to je... :D jinak nad tim resenim jsem taky premyslel :)
Citace od: tojsemja kdy 21. 01. 2015, 16:28:49
Až budete vědět co všechno to má dělat, tak nám dejte vědět.
Citace od: tojsemja kdy 21. 01. 2015, 16:39:45
v ty knize (fakt doporucuji precist) se dlouze pojednava ze cim vic ma funkce parametru, tim vetsi zlo to je...
Tady tohle se používá zhruba tak 20 let a zlo tam kromě autora knihy za tu dobu nikdo nenašel:
BOOL StretchBlt(HDC hdcDest, int nXOriginDest, int nYOriginDest, int nWidthDest, int nHeightDest, HDC hdcSrc, int nXOriginSrc, int nYOriginSrc, int nWidthSrc, int nHeightSrc, DWORD dwRop);
Citace od: Kolemjdoucí kdy 21. 01. 2015, 16:51:51
Citace od: tojsemja kdy 21. 01. 2015, 16:28:49
Až budete vědět co všechno to má dělat, tak nám dejte vědět.
Citace od: tojsemja kdy 21. 01. 2015, 16:39:45
v ty knize (fakt doporucuji precist) se dlouze pojednava ze cim vic ma funkce parametru, tim vetsi zlo to je...
ja nevim, ale ja nikdy nebudu vedet s cim zakaznik prijde a jak se zmeni pozadavky zitra? proto uz dnes chci mit kod tip-top? :)
Citace od: tojsemja kdy 21. 01. 2015, 16:57:09
ja nikdy nebudu vedet s cim zakaznik prijde a jak se zmeni pozadavky zitra?
S čím přijde v budoucnosti se bude řešit v budoucnosti.
pletes si pojmy s dojmy, cisty, funkcni a hlavne jednoduchy kod proc ne ale u kompilovaneho jazyka do interpretovanych duplicity sem tam patrej ma to docela vliv na vykon
Pouzijte jednu funkci pro oba pripady (function printString). Jako parametr jednou predejte date ve zpetnych apostrofech, jednou retezec dle vaseho vkusu.
Citace od: tojsemja kdy 21. 01. 2015, 16:57:09
...
ja nevim, ale ja nikdy nebudu vedet s cim zakaznik prijde a jak se zmeni pozadavky zitra? proto uz dnes chci mit kod tip-top? :)
vyborny napad, takze u evidence dochazky treba rovnou naprogramuj ucetnictvi, kamerovy system a ridici system pro atomovou elektrarnu... co kdyby si to to pekarstvi nahodou zitra rozmyslelo a prislo s tim za tebou...
budto mas jasne requirements, nebo delas dort jak pejsek s kocickou...
Mně dala nejvíc kniha Leo Brodie: Thinking Forth.
Citace od: OMG kdy 22. 01. 2015, 09:17:10
Citace od: tojsemja kdy 21. 01. 2015, 16:57:09
...
ja nevim, ale ja nikdy nebudu vedet s cim zakaznik prijde a jak se zmeni pozadavky zitra? proto uz dnes chci mit kod tip-top? :)
vyborny napad, takze u evidence dochazky treba rovnou naprogramuj ucetnictvi, kamerovy system a ridici system pro atomovou elektrarnu... co kdyby si to to pekarstvi nahodou zitra rozmyslelo a prislo s tim za tebou...
budto mas jasne requirements, nebo delas dort jak pejsek s kocickou...
To uz vypada ako Firefox, ci Emacs.
printString(){
if [ -f LOG ]; then
echo "${1:-$(date)}" >>$LOG
fi
}
Citace od: linux_noob kdy 21. 01. 2015, 16:35:23
function printString {
if [ -f $LOG ]; then
echo $1 >> $LOG
fi
}
function printDatum {
printString `date`
}
jinak ocenuju jednotnou konvenci pojmenovani funkci (Datum vs. String).
tohle se mi libi. jsem blbej ze sem na to neprisel. jen to ma drobou vadu, date vrati Thu Jan 22 14:09:15 CET 2015 takze do promenne $1 se vlozi retezec Thu
nj, na to jsem zapomnel no
function printString {
if [ -f $LOG ]; then
echo $1 >> $LOG
fi
}
function printDatum {
printString "`date`"
}