🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

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

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

#246973
From: godek.maciek
Date: Fri, 07 Apr 2017 10:15
49 lines
4370 bytes
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.
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: <f52db3b6-cba3-4c7a-9d02-2fa8105dab31@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!y18no5698056itc.0!news-out.google.com!j72ni2036itb.0!nntp.google.com!y18no5703709itc.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>

Show Full Headers
Complete Article Headers
X-Received: by 10.99.124.27 with SMTP id x27mr15621234pgc.50.1491560141522;        Fri, 07 Apr 2017 03:15:41 -0700 (PDT)
X-Received: by 10.157.4.11 with SMTP id 11mr799884otc.16.1491560141470; Fri, 07 Apr 2017 03:15:41 -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!y18no5698056itc.0!news-out.google.com!j72ni2036itb.0!nntp.google.com!y18no5703709itc.0!postnews.google.com!glegroupsg2000goo.googlegroups.com!not-for-mail
Newsgroups: pl.comp.lang.c
Date: Fri, 7 Apr 2017 03:15:41 -0700 (PDT)
In-Reply-To: <almarsoft.37215651928186221@news.v.pl>
Complaints-To: groups-abuse@google.com
Injection-Info: glegroupsg2000goo.googlegroups.com; posting-host=213.192.95.134; posting-account=f7iIKQoAAAAkDKpUafc-4IXhmRAzdB5r
NNTP-Posting-Host: 213.192.95.134
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>
User-Agent: G2/1.0
MIME-Version: 1.0
Message-ID: <f52db3b6-cba3-4c7a-9d02-2fa8105dab31@googlegroups.com>
Subject: Re: ile czasu trzeba aby sie nauczyc c++?
From: godek.maciek@gmail.com
Injection-Date: Fri, 07 Apr 2017 10:15:41 +0000
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit