🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Article View: pl.comp.lang.c
Article #246975

Re: ile czasu trzeba aby sie nauczyc c++?

#246975
From: (fir)
Date: Fri, 07 Apr 2017 14:02
91 lines
6406 bytes
W dniu piątek, 7 kwietnia 2017 15:31:12 UTC+2 użytkownik (fir) napisał:
> W dniu piątek, 7 kwietnia 2017 12:15:43 UTC+2 użytkownik godek....@gmail.com napisał:
> > W dniu piątek, 7 kwietnia 2017 11:52:09 UTC+2 użytkownik slawek napisał:
> > 
> > > > Napisałeś, że uważasz, że na 40 linii kodu powinno=
> > > >  przypadać
> > > > 50 linii komentarza, ale nie napisałeś, dlaczego
> > > 
> > > Bo jeżeli piszę wysokopoziomowo, np. wywołując jakieś 100 różnych 
> > > funkcji/metod w 40 linijkach, to robi się coś konkretnego. Te coś 
> > > konkretnego wymaga opisania: co się robi, jakie parametry, jakie 
> > > skutki, co powinno być a co nie,
> > 
> > Według mnie:
> > 
> > To, co się robi, powinno wynikać z nazwy funkcji.
> > To, jakie parametry, powinno wynikać z nazw tych parametrów,
> > albo czegoś w tym rodzaju -- ja jak piszę w Schemie, to daję
> > jednosłowowe komentarze "przyimkowe", wyjaśniające role
> > poszczególnych argumentów, np. w kodzie rozwiązującym
> > problem komiwojażera miałem coś w stylu
> > 
> > (shortest-path+cost #;from start #;to end #;through others)
> > 
> > To, jakie skutki, powinno wynikać z asercji/kontraktów.
> 
> 
> no asercje bylyby lepsze niz komentarze, ale nawet ich tez nie chce mi sie pisac - moze musze nad sobą popracowac w tym etemacie
>  
> (tj przetrenowac jak to jest kompatybilne z moim 
> stylem klepanie i patrzenia na zrodlo)
> 


by wspomniec oczywista rownowage kosztow do zyskow

koszty:
1) trzeba je wpisywac, jesli bym tego wpisywal setki -
a raczej bylyby setki - to jakis koszt jest

2) wydluzaja zrodlo a dluzsze zrodlo jest troche 
gorsze i byc moze wolniejsze w czytaniu

zyski:
1) jesli juz cos wylapią to b dobrze, od czasu do czasu
zaoszczedzą troche z nieprzyjemnej sesji lokalizowania
bledu
2) nie uzywam assertow ale od czasu do czasu uzywam 
if(..) ERROR(..), gdyby to byl assert to mozliwosc wylaczenie tego przez NDEBUG jest dobra do optymalizacji

mixed:

1) - z drugiej strony jest maly problem bo niektore a tych assercji byc moze chcialbym zostawic w release, a 
rozkminianie teraz za kazdym razem co robic ifem a co assertem moze byc deczko spowoalniajace

2) assert w windzie wywala okno i fatalny dzwiek ("d-dum-b!"), ktorego nie lubie i nie chcialbym tego sluchac,
moje wlasne okno od erroru daje nieco lepszy "t-trrik!")
do tego u mnie w dialogu przycisk "ignore error" (czasem przydatny)  dziala  a ten od assertu nie wydaje sie dzialac leci po nim u mnie sigsegv nie wiedomo czemu

3) pozatym chyba wolalbym to pisac duzymi literami ASSERT
czyli musialbym napisac swoj 

tak ze nie wiem, w sumie na razie by nie komplikowac chyba nie bede uzywac


> > Zresztą wydaje mi się, że w tym przypadku wartość programowania
> > funkcyjnego jest szczególnie duża, bo zazwyczaj funkcje nie
> > mają skutków, tylko wartości, a jeśli mają skutki, to w Haskellu
> > albo Scali wynika to z typu.
> > 
> > > jaki algorytm i gdzie coś można poczytać (referencje). 
> > 
> > Tego, jaki algorytm, albo referencji, rzeczywiście nie da się
> > zawrzeć poza komentarzem, ale to zazwyczaj jedna linijka.
> > 
> > > To będzie już 30 do 40 linijek komentarza. Do 
> > > tego jeszcze kilkanaście w tekście, np. że nie robić czegoś 
> > > oczywistego, bo dany fragment musi być taki właśnie jaki jest.
> > >
> > > I już jest nawet i 50 linii komentarza. Zwłaszcza że liczę takie 
> > > 
> > > A=5; // cm
> > > 
> > > za linię z komentarzem.
> > 
> > Chyba lepiej byłoby tak:
> > 
> > A_cm = 5;
> > 
> > Pod tym względem ciekawe rozwiązanie ma F#:
> > https://en.wikibooks.org/wiki/F_Sharp_Programming/Units_of_Measure
Technical Details
Message-ID: <594f02ef-9bd5-43e2-b95f-5bfb933e93ba@googlegroups.com>
Path: mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!news.icm.edu.pl!news.nask.pl!news.nask.org.pl!news.unit0.net!news.glorb.com!y18no5796794itc.0!news-out.google.com!m191ni23344itc.0!nntp.google.com!y18no5796786itc.0!postnews.google.com!glegroupsg2000goo.googlegroups.com!not-for-mail
References: <451e90e7$0$17965$f69f905@mamut2.aster.pl> <2bb5.00000022.45239396@newsgate.onet.pl> <eg0l2h$pre$1@nemesis.news.tpi.pl> <2afb3725-2059-4f04-b4ac-0989aff4dbd4@googlegroups.com> <58e1d648$0$5141$65785112@news.neostrada.pl> <896bb474-1535-4eb5-a427-1d74855ca14e@googlegroups.com> <58e20fc5$0$643$65785112@news.neostrada.pl> <82bfc8d8-6b1d-4928-b831-bdbbe71fc013@googlegroups.com> <58e245ef$0$640$65785112@news.neostrada.pl> <ed300d94-7f05-4791-ae56-077b774efa54@googlegroups.com> <58e28b69$0$15195$65785112@news.neostrada.pl> <1a59b0b0-0be0-44c9-9886-28171ba25a91@googlegroups.com> <c04357ca-2816-449a-a76d-3544891487be@googlegroups.com> <85e6a3a0-9e65-4bb9-9465-433d9c9c5c5e@googlegroups.com> <58e53652$0$5144$65785112@news.neostrada.pl> <694df5a0-8446-49ac-8e95-64e29d3767b7@googlegroups.com> <58e53ca6$0$15190$65785112@news.neostrada.pl> <c11906bf-4238-4b12-bcd1-38fefcec7225@googlegroups.com> <oc4lvi$n5f$1@node1.news.atman.pl> <58e5df11$0$5156$65785112@news.neostrada.pl> <almarsoft.5519333400367255350@news.v.pl> <almarsoft.1887009307138951124@news.v.pl> <a01917ce-6005-4ba5-ab6f-7d503a694651@googlegroups.com> <almarsoft.3812374116751442610@news.v.pl> <d521c115-c757-439a-b6b5-8cf4b5886167@googlegroups.com> <almarsoft.5271328977613451308@news.v.pl> <df81b585-523e-4ed7-a9b1-3eb3a980639d@googlegroups.com> <almarsoft.37215651928186221@news.v.pl> <f52db3b6-cba3-4c7a-9d02-2fa8105dab31@googlegroups.com> <65b9eced-3da5-421c-bccc-7632b0dd23e1@googlegroups.com>

Show Full Headers
Complete Article Headers
X-Received: by 10.157.45.165 with SMTP id g34mr7450837otb.145.1491573746550;        Fri, 07 Apr 2017 07:02:26 -0700 (PDT)
X-Received: by 10.157.55.247 with SMTP id x110mr1255200otb.6.1491573746516; Fri, 07 Apr 2017 07:02:26 -0700 (PDT)
Path: mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!news.icm.edu.pl!news.nask.pl!news.nask.org.pl!news.unit0.net!news.glorb.com!y18no5796794itc.0!news-out.google.com!m191ni23344itc.0!nntp.google.com!y18no5796786itc.0!postnews.google.com!glegroupsg2000goo.googlegroups.com!not-for-mail
Newsgroups: pl.comp.lang.c
Date: Fri, 7 Apr 2017 07:02:26 -0700 (PDT)
In-Reply-To: <65b9eced-3da5-421c-bccc-7632b0dd23e1@googlegroups.com>
Complaints-To: groups-abuse@google.com
Injection-Info: glegroupsg2000goo.googlegroups.com; posting-host=5.172.255.235; posting-account=Sb6m8goAAABbWsBL7gouk3bfLsuxwMgN
NNTP-Posting-Host: 5.172.255.235
References: <451e90e7$0$17965$f69f905@mamut2.aster.pl> <2bb5.00000022.45239396@newsgate.onet.pl> <eg0l2h$pre$1@nemesis.news.tpi.pl> <2afb3725-2059-4f04-b4ac-0989aff4dbd4@googlegroups.com> <58e1d648$0$5141$65785112@news.neostrada.pl> <896bb474-1535-4eb5-a427-1d74855ca14e@googlegroups.com> <58e20fc5$0$643$65785112@news.neostrada.pl> <82bfc8d8-6b1d-4928-b831-bdbbe71fc013@googlegroups.com> <58e245ef$0$640$65785112@news.neostrada.pl> <ed300d94-7f05-4791-ae56-077b774efa54@googlegroups.com> <58e28b69$0$15195$65785112@news.neostrada.pl> <1a59b0b0-0be0-44c9-9886-28171ba25a91@googlegroups.com> <c04357ca-2816-449a-a76d-3544891487be@googlegroups.com> <85e6a3a0-9e65-4bb9-9465-433d9c9c5c5e@googlegroups.com> <58e53652$0$5144$65785112@news.neostrada.pl> <694df5a0-8446-49ac-8e95-64e29d3767b7@googlegroups.com> <58e53ca6$0$15190$65785112@news.neostrada.pl> <c11906bf-4238-4b12-bcd1-38fefcec7225@googlegroups.com> <oc4lvi$n5f$1@node1.news.atman.pl> <58e5df11$0$5156$65785112@news.neostrada.pl> <almarsoft.5519333400367255350@news.v.pl> <almarsoft.1887009307138951124@news.v.pl> <a01917ce-6005-4ba5-ab6f-7d503a694651@googlegroups.com> <almarsoft.3812374116751442610@news.v.pl> <d521c115-c757-439a-b6b5-8cf4b5886167@googlegroups.com> <almarsoft.5271328977613451308@news.v.pl> <df81b585-523e-4ed7-a9b1-3eb3a980639d@googlegroups.com> <almarsoft.37215651928186221@news.v.pl> <f52db3b6-cba3-4c7a-9d02-2fa8105dab31@googlegroups.com> <65b9eced-3da5-421c-bccc-7632b0dd23e1@googlegroups.com>
User-Agent: G2/1.0
MIME-Version: 1.0
Message-ID: <594f02ef-9bd5-43e2-b95f-5bfb933e93ba@googlegroups.com>
Subject: Re: ile czasu trzeba aby sie nauczyc c++?
From: "(fir)" <profesor.fir@gmail.com>
Injection-Date: Fri, 07 Apr 2017 14:02:26 +0000
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit