C pre MCU- prehladnost kodu

C,C++,C#

Moderátori: psichac, Moderátori

vylo
Okoloidúci
Okoloidúci
Príspevky: 1
Dátum registrácie: 02 Sep 2013, 21:47

C pre MCU- prehladnost kodu

Príspevok od používateľa vylo » 10 Máj 2018, 09:01

Zdravim priatelia

Mam nasledovny problem:
Po napisani zdrojaku pre MCU v jazyku C zvycajne MCU robi to co ocakavam co znamena ze dosiahnem co som od MCU chcel.
Problem je ze ked sa vo vysledku pozriem na cely zdrojak nie som s nim vnutorne spokojny. Zdrojak je neprehladny duplikuju sa glob. premenne funkcie si odovzdavaju parametre raz cez pointre raz cez glob. premenne a nie je to ako celok jednotne a zrozumitle napisane.

Existuju akesi dizajnove vzory ako by idealne napisany FW mal vypadat pre embedded systemy pisane v jazyku C?
Nasiel som nasledovnu literaturu ale nie som si isty ci to mam hned objednavat za 60$ a ci nepoznate nieco pristupnejsie, overene.
https://www.google.sk/imgres?imgurl=htt ... _B0ImgEwCg

Nejedna sa o konfikuraciu periferii v MCU ani zaklady programovacieho jazyka C. Skor mi ide o akesi odporucania resp stabnu kulturu zdrojakov pre embedded systemy bez RTOS, bez objektov jednoducho standardne C. A hlavne aby moje zdrojaky boli dobre citatalne a mali akusi referenciu takto sa to robi... a takto zas nie...
0

Používateľov profilový obrázok
jirka.jirka.
Ultimate člen
Ultimate člen
Príspevky: 1537
Dátum registrácie: 17 Okt 2008, 00:00
Bydlisko: Uherské Hradiště
Kontaktovať používateľa:

Re: C pre MCU- prehladnost kodu

Príspevok od používateľa jirka.jirka. » 10 Máj 2018, 09:14

0

Používateľov profilový obrázok
Tribec Zacks
Pokročilý člen
Pokročilý člen
Príspevky: 709
Dátum registrácie: 26 Jún 2010, 00:00
Bydlisko: Levice / Cork IRL
Vek: 41
Kontaktovať používateľa:

Re: C pre MCU- prehladnost kodu

Príspevok od používateľa Tribec Zacks » 10 Máj 2018, 09:21

Vylo, tazko ti takto povedat, ale nauc sa poriadne pracu s pointrami a struct-urami. Kod netahaj ako spagetu, ale rozdeluj do funkcii a drz sa rovnakeho stylu pisania. Ak mas problem s premennymi vo funkciach co sa maju pamatat, tak na to je static premenna atd. Dobre pisany c kod sa na prvy pohlad podoba cpp. Popripade skus mrknut na zdrojak nejakeho linuxackeho ovladaca.
0
Kreativita a motivacia je to, co prinasa originalne napady a myslienky, disciplina je to, co ich dokaze zrealizovat.

Používateľov profilový obrázok
Mishung
Stály člen
Stály člen
Príspevky: 494
Dátum registrácie: 01 Dec 2009, 00:00
Bydlisko: Praha
Vek: 32

Re: C pre MCU- prehladnost kodu

Príspevok od používateľa Mishung » 15 Máj 2018, 08:51

Co sa "prehladnosti" kodu tyka musis sa zamerat na tri veci.
  • a) Coding style
  • b) Design patterns
  • c) Comments
-Co sa tyka coding style tak vysoko doporucujem google style guide pre C++. Ide o subor stylistickych pravidiel ktorym sa riadia koderi v google. Da sa to presne aplikovat aj na C-cko len vynechas pravidla pre objekty. https://github.com/google/styleguide
-Co do design patterns taky dobry start pre embedded vyvojarov je "Making embedded systems". Mam ju v PDF-ku. Ak mas zaujem napis SS.
-Pokial ide o comments tak univerzalny standard je aby boli doxygen compliant. Z takto okomentovaneho kodu sa da automaticky uz generovat aj dokumentacia. Tu mas link: https://www.stack.nl/~dimitri/doxygen/m ... locks.html

Bonusovy level su unit testy. Ked budes mat zvladnute vsetko vyssie spomenute tak si precitaj knihu "Test driven development for embedded C" (mam v PDF). Unit testy, okrem toho ze umoznuju automaticke testovanie kodu, ta prinutia pisat maximalne strukturovany kod. Asi tolko teda... ak by si mal nejaku konkretnu otazku kludne pis. Dovolim si tvrdit ze v tomto som doma.

PS: Mam elektronicky aj tu knihu na ktoru si daval link keby si mal zaujem.
0
They say the world is turning
But we are stuck upside down...

Napísať odpoveď
  • Podobné témy
    Odpovedí
    Zobrazení
    Posledný príspevok