1~3年韌體工程師求前輩指點 - 工程師
By Jessica
at 2019-01-22T14:12
at 2019-01-22T14:12
Table of Contents
嗨,今天大家過的好嗎。
小弟寫FW已經有一兩年了,大概了解這個領域的工作內容以及涉及的範圍。目前技術能力
卡在一個瓶頸,想上來請教各位大大該如何精進自己。
先說說我已具備的能力。
1.有辦法讀懂OS手冊,並正確使用該API。
花了兩個月把uC/OS-III的手冊看完一遍,且成功使用semaphore與message queue。有辦法
融會貫通手冊想要表達的觀念以及kernel的實作細節。但僅止於此,就是會用而已。
2.有辦法快速上手新的硬體,並寫出該硬體的driver。
3.其他抓硬體bug,用示波器...blabla的基本能力就不贅述了
目前欠缺的能力
1.物件導向的觀念
我發現我之前寫的code在亂寫,很像是把一堆東西東湊西湊然後混著用。我希望自己能寫
出具有模組化的程式碼,且有辦法在未來需要擴充的時候不用牽一髮而動全身。
上網查,如果在C語言加入物件導向的觀念,可以改善這部分(請幫舉證?),所以我最近試
著想要用C語言的角度了解、寫出物件導向的程式碼
但我找不到一本好的入門書,請各位網友建議,謝謝。
2.欠缺讀code的能力
當coder把user用不到的資訊全部放在header file,會讓user越讀越混亂。好的code應該
具有information hiding的特色(我自己說的),
我沒辦法在一堆混亂的資訊中過濾出有用的資訊,並且了解對方在寫什麼。看到會讓人誤
會的變數命名、沒有註解的function prototype、沒有意義的檔名以及沒有把每個file分
層的project,我真的必須要一直問對方才有辦法了解對方的邏輯。
我知道可以要求對方多加點註解,或者是要求改善他的寫法。但我相信我更應該做的是提
升自己的閱讀能力,而不是去要求別人。想請問這部分需要如何提升自己呢?
3.程式組織能力
這部分有一點抽象。比如在寫一支application,我可能會自定義很多型別(struct),但我
發現我有時候會搞錯各個成員(member)該擺放的位置,比如A結構的成員我可能會放到B結
構裡去,導致在寫struct of struct的時候會卡住。
常常搞混type的命名與identifier的命名。
拿int number做比喻好了,我們很清楚知道number的型別是int,但我有時候就會命名成相
反。該怎麼說呢,就是有點還沒辦法明確地分清楚各個struct要擔任的角色,以及type的
定義嗎?(我自己也不知道問題出在哪)
這部分我目前不知道該怎麼辦,感覺搞懂物件導向後有辦法改善? 還是看資料結構?(我買
來但都沒時間翻)
4.無法明確掌握自己該精進的方向
比如最近看到一個網址: https://www.state-machine.com/
它好像在提倡它的工具比RTOS好用,什麼framework還有state-machine的,還加上UML。
我腦袋就出現一堆問號,諸如:
什麼是UML?
在RTOS的環境下沒辦法寫state-machine嗎?
RTOS跟它的framework不能共存嗎?感覺是同一種東西啊!...blablabla
這些問題我也有上網google過,但也只能懂表面,沒辦法了解他們在幹嘛
希望有位好心的大大可以跟我聊一聊Q_Q讓我知道我目前在roadmap的哪裡,以及該怎麼前
進,謝謝!(如果打的很亂請見諒)
--
小弟寫FW已經有一兩年了,大概了解這個領域的工作內容以及涉及的範圍。目前技術能力
卡在一個瓶頸,想上來請教各位大大該如何精進自己。
先說說我已具備的能力。
1.有辦法讀懂OS手冊,並正確使用該API。
花了兩個月把uC/OS-III的手冊看完一遍,且成功使用semaphore與message queue。有辦法
融會貫通手冊想要表達的觀念以及kernel的實作細節。但僅止於此,就是會用而已。
2.有辦法快速上手新的硬體,並寫出該硬體的driver。
3.其他抓硬體bug,用示波器...blabla的基本能力就不贅述了
目前欠缺的能力
1.物件導向的觀念
我發現我之前寫的code在亂寫,很像是把一堆東西東湊西湊然後混著用。我希望自己能寫
出具有模組化的程式碼,且有辦法在未來需要擴充的時候不用牽一髮而動全身。
上網查,如果在C語言加入物件導向的觀念,可以改善這部分(請幫舉證?),所以我最近試
著想要用C語言的角度了解、寫出物件導向的程式碼
但我找不到一本好的入門書,請各位網友建議,謝謝。
2.欠缺讀code的能力
當coder把user用不到的資訊全部放在header file,會讓user越讀越混亂。好的code應該
具有information hiding的特色(我自己說的),
我沒辦法在一堆混亂的資訊中過濾出有用的資訊,並且了解對方在寫什麼。看到會讓人誤
會的變數命名、沒有註解的function prototype、沒有意義的檔名以及沒有把每個file分
層的project,我真的必須要一直問對方才有辦法了解對方的邏輯。
我知道可以要求對方多加點註解,或者是要求改善他的寫法。但我相信我更應該做的是提
升自己的閱讀能力,而不是去要求別人。想請問這部分需要如何提升自己呢?
3.程式組織能力
這部分有一點抽象。比如在寫一支application,我可能會自定義很多型別(struct),但我
發現我有時候會搞錯各個成員(member)該擺放的位置,比如A結構的成員我可能會放到B結
構裡去,導致在寫struct of struct的時候會卡住。
常常搞混type的命名與identifier的命名。
拿int number做比喻好了,我們很清楚知道number的型別是int,但我有時候就會命名成相
反。該怎麼說呢,就是有點還沒辦法明確地分清楚各個struct要擔任的角色,以及type的
定義嗎?(我自己也不知道問題出在哪)
這部分我目前不知道該怎麼辦,感覺搞懂物件導向後有辦法改善? 還是看資料結構?(我買
來但都沒時間翻)
4.無法明確掌握自己該精進的方向
比如最近看到一個網址: https://www.state-machine.com/
它好像在提倡它的工具比RTOS好用,什麼framework還有state-machine的,還加上UML。
我腦袋就出現一堆問號,諸如:
什麼是UML?
在RTOS的環境下沒辦法寫state-machine嗎?
RTOS跟它的framework不能共存嗎?感覺是同一種東西啊!...blablabla
這些問題我也有上網google過,但也只能懂表面,沒辦法了解他們在幹嘛
希望有位好心的大大可以跟我聊一聊Q_Q讓我知道我目前在roadmap的哪裡,以及該怎麼前
進,謝謝!(如果打的很亂請見諒)
--
Tags:
工程師
All Comments
By Anonymous
at 2019-01-25T19:54
at 2019-01-25T19:54
By Ina
at 2019-01-30T05:03
at 2019-01-30T05:03
By Charlie
at 2019-01-31T21:06
at 2019-01-31T21:06
By Mia
at 2019-02-03T05:54
at 2019-02-03T05:54
By Gilbert
at 2019-02-03T14:57
at 2019-02-03T14:57
By Blanche
at 2019-02-05T22:14
at 2019-02-05T22:14
By Regina
at 2019-02-06T07:24
at 2019-02-06T07:24
By Necoo
at 2019-02-10T16:08
at 2019-02-10T16:08
By Kumar
at 2019-02-11T22:43
at 2019-02-11T22:43
By Regina
at 2019-02-14T23:05
at 2019-02-14T23:05
By Frederic
at 2019-02-18T23:33
at 2019-02-18T23:33
By Todd Johnson
at 2019-02-21T19:07
at 2019-02-21T19:07
By Ethan
at 2019-02-25T08:48
at 2019-02-25T08:48
By David
at 2019-02-26T14:31
at 2019-02-26T14:31
By Connor
at 2019-03-01T16:38
at 2019-03-01T16:38
By Hazel
at 2019-03-06T15:14
at 2019-03-06T15:14
By Mary
at 2019-03-09T07:26
at 2019-03-09T07:26
By Eden
at 2019-03-10T17:05
at 2019-03-10T17:05
By Delia
at 2019-03-14T07:04
at 2019-03-14T07:04
By Gary
at 2019-03-16T06:18
at 2019-03-16T06:18
By Elizabeth
at 2019-03-16T22:17
at 2019-03-16T22:17
By Enid
at 2019-03-17T20:04
at 2019-03-17T20:04
By Kumar
at 2019-03-18T12:56
at 2019-03-18T12:56
By John
at 2019-03-19T16:09
at 2019-03-19T16:09
By Madame
at 2019-03-24T06:29
at 2019-03-24T06:29
By Suhail Hany
at 2019-03-26T15:19
at 2019-03-26T15:19
By Hardy
at 2019-03-30T03:12
at 2019-03-30T03:12
By Lydia
at 2019-04-03T21:15
at 2019-04-03T21:15
By Quintina
at 2019-04-07T20:48
at 2019-04-07T20:48
By Mason
at 2019-04-09T19:20
at 2019-04-09T19:20
By Regina
at 2019-04-14T07:42
at 2019-04-14T07:42
By Victoria
at 2019-04-16T16:30
at 2019-04-16T16:30
By Ingrid
at 2019-04-20T02:33
at 2019-04-20T02:33
By Victoria
at 2019-04-24T19:16
at 2019-04-24T19:16
By Zora
at 2019-04-29T18:27
at 2019-04-29T18:27
By Joe
at 2019-05-02T20:53
at 2019-05-02T20:53
By Heather
at 2019-05-07T05:13
at 2019-05-07T05:13
By Aaliyah
at 2019-05-10T06:53
at 2019-05-10T06:53
By Edith
at 2019-05-12T00:37
at 2019-05-12T00:37
By Dinah
at 2019-05-15T18:41
at 2019-05-15T18:41
By Quanna
at 2019-05-16T10:53
at 2019-05-16T10:53
By Quintina
at 2019-05-18T18:50
at 2019-05-18T18:50
By Anthony
at 2019-05-21T22:31
at 2019-05-21T22:31
By Hardy
at 2019-05-25T08:10
at 2019-05-25T08:10
By Susan
at 2019-05-27T17:54
at 2019-05-27T17:54
By Connor
at 2019-05-30T07:46
at 2019-05-30T07:46
Related Posts
2018年半導體併購總值232億美元,較去年
By Erin
at 2019-01-22T10:28
at 2019-01-22T10:28
AI新創公司會有硬體工程師職缺嗎
By Yuri
at 2019-01-22T09:24
at 2019-01-22T09:24
宏達電VR橫掃36項大獎 王雪紅內部信:今年豐收年
By Margaret
at 2019-01-22T08:30
at 2019-01-22T08:30
台灣5G腳步落後外國 童子賢:加快讓台灣
By Oliver
at 2019-01-22T08:11
at 2019-01-22T08:11
無預警被資遣的心情??(覺得感傷
By Hardy
at 2019-01-21T23:35
at 2019-01-21T23:35