iT邦幫忙

0

請問工程師的品格應該要怎麼做到?

兩個問題
第一
看不懂的code要用最好要搞懂嗎?
還是就幹脆寫簡單一點??
網路找了個email的正則式
測試過幾次都很有效
可是剛剛被問了email後面
.com 可以
.edu 可以
.111 不可以
是為什麼,我答不出來(因為我自己是實際去測試)
本來想測試有過還好,但被問到原理還真答不出來...
而且正則不適網路上很多寫好的,所以除了基本的會寫就沒再深入了
不知各位有什麼建議

第二
本人小隻後端工程師
轉職約一年,在小公司磨練不到半年
但小公司常常有前後端不分的問題
像我們公司前端就切版 RWD 特效 效果等等
但ajax或是資料出畫面就是後端負責的
還有前端js驗證表單也是後端寫
因為正常前端會切好畫面給後端用,那就常常遇到這個狀況
前端codeCSS寫錯(依表單出disabled) 後端被罵
前端code編碼出錯(UTF8 變成 UTF8 with Boom)後端被罵

沒有要討拍的意思
是想問各位會默默吞下去嗎?
因為看很多文章多新人多自大怎樣地導致老鳥不想教人...

我覺得我沒有自大只是想陳述這邊code不是我寫
但聽起來就很藉口,因為我該負責好我的工作(就是讓網站可以正常運行)
但實際就是這裡段code也真的不是我寫的(我應該要看過/還是至少知道前端code嗎?)

我怕大部分人覺得這類型的人不好教,新人會反駁等等
所以菜雞想知道業界正常要給他吞下去嗎?(這樣我學的比較多?)
還是可以提出反駁???

看更多先前的討論...收起先前的討論...
Han iT邦新手 4 級 ‧ 2020-11-17 12:18:22 檢舉
第一 我會覺得是你的問題,基本上要用,就一定要看的懂,不要留雷給自己
但我自己也很難做到,有時候要偷懶都會直接用,但如果因為這樣被罵,我也會摸摸鼻子覺得是自己問題,自己沒有好好檢驗

而且這次是單純正規,很好看懂,如果說是套件,就另當別論了QQ
froce iT邦大師 1 級 ‧ 2020-11-17 13:01:45 檢舉
1.能搞懂的當然要搞懂,不懂至少也要會看文件接api。不要只拿別人code來抄。
2.前端也是要寫code。所以你舉的那兩個例子的確是前端的事。
但是搞不好你們公司就是寫code就要負責寫所有的code,那寫code的人的確該注意那些東西。
其實我反而比較不了解不搞懂要怎麼拿來用@@
不搞懂直接用有問題的話要怎麼debug?
測試後可以執行就拿來用,不行就再找新的拿來繼續測?
不說要馬上完全熟悉了解,但至少要懂個七七八八吧?
我是一隻做了半年的菜鳥分享一下我的看法。
對於第一點:我寫的每一行程式碼都是我了解過的。
對於沒有全盤了解的東西,我不敢來拿用,因為我會不知道從何處Debug。
近期在使用Websocket這部分,我也是努力地將每一個Function、參數弄懂之後,才開始架設Server。
雖然常常被主管嘴說鑽牛角尖、浪費時間、自以為在做學術的(苦笑。

網路上常說,不要重複造輪子。
但我覺得起碼要知道輪子怎麼造,到時爆胎了才知道怎麼補胎。
首先要先假定眾人無品格,簡稱無品,你要有品,自然就會有品
相對於無品的人,你就是優秀,至於如何比眾人優秀,自然作品一定要有一定的品質,你自己的設計要能夠過了一百年,你掛了,但是你的作品還是有人隨便看看就能上手,就能夠增減刪除修改,這樣就算有品了,但是這樣很難,不然就不會一堆無品之人了
Han
謝謝回答,簡單就是不要挖坑給自己!!
是這個意思嗎?
有時候在時間上的壓力下真的很難在花時間去理解
下午時再看了看那一條正則式,真的有點難以理解==
不過還好只是正則,不然是套件真的不行,還是要用懂才行
謝謝
froce
當然會希望能搞懂的要搞懂(只是我想正則網路上有很多範例了就直接拿來用了==
這次真的是自己的問題,回答不出來就很嚴重了
拿來用沒關係。我自已也準備了一整套的正則。
雖然某些情況也是需要自已處理要的正則。
但大多數也是c+v處理。
但不懂為何 .111 不行就真的太不應該。
wingkawa iT邦新手 4 級 ‧ 2020-11-19 10:00:52 檢舉
正則用看的看別人寫的確實不好懂,但你自己寫一組出來就容易懂得多
4
通靈亡
iT邦研究生 4 級 ‧ 2020-11-17 13:15:12

我從兩個角度來給你建議

首先以技術學習的角度,你的主管這樣要求你是合理的。一方面,網路上的資料是人寫的,很多不一定是正確的,甚至可能會有嚴重的後座力(例如你Copy到的php程式碼會被SQL Injection)。今天是正規表達式有問題你可能覺得還好,假設如果今天是會有嚴重的後果,上面的人是不會因為你一句「我不知道」而放過你。

另一方面,如果對於你所撰寫的程式碼、使用的工具沒有一定的了解,出問題的時候,你會很難知道怎麼去找問題源頭。東填西補久了,程式碼量一大,不知道怎麼改,就會衍生很多的維護問題。因此發現自己沒弄懂的地方,多花時間去理解對自己之後寫程式是好事。

接著以責任分權的角度,如果那些CSS跟編碼是前端該負責的,我在被「罵」的當下就會直接反映:「可是這些部分我沒有動到,在前端給我的時候就有問題了。」,如果上面聽得懂人話,通常就會去找負責的人溝通。聽不懂人話的狀況比較少,事小就算了,事大的話就事論事反駁即可。就像之前星空大說的,做好自己就好,除非你上面的所有人都有問題。

只要記得,任何反駁不是為了反駁而反駁,而是讓上面的知道,實際的問題源頭是前端一開始弄的時候沒處理好。那當然一定會有前輩說:「那你拿到就發現有問題嗎?有的話不會幫忙改嗎?」你就很簡單的回說:「恩,我當時沒有特別留意他寫的部分。我之後會幫忙注意。」

1
japhenchen
iT邦高手 1 級 ‧ 2020-11-17 14:34:49

第一、會被人問倒就表示真的學藝不精,寫程式真的不要複制貼上,自己能弄清楚原理,然後按自己的需求重新寫過

第二、小的待過的公司都是一人專案,前端兼美工兼後端都是一人處理,不過我還知道後端丟資料不要管HTML,前端不用管資料結構,只管接收json/xml再把畫面安排好,這就不會亂,所以我愈來愈少用PHP..我常寫PHP寫到前後端混亂,如

<?php 
    echo "<table>";
    for( $rows as $r ){
        echo "<tr>";
        echo "<td>".$r["name"]."</td>";
        echo "</tr>";
    }
    echo "</table>";
?>

<div>
    <?php echo $.SESSION["username"]; ?>
</div>

總結,這跟品格似乎沒什麼關係,這只是個人編程風格,無關好與不好,只在有沒有辦法傳承與團隊運作罷

通靈亡 iT邦研究生 4 級 ‧ 2020-11-17 14:49:33 檢舉

J大,你是不是誤會php了,php其實一直有分離的寫法...

<table>
    <?php foreach($rows as $r):?>
        <tr>
            <td><?php echo $r["name"] ?></td>
        </tr>
    <?php endforeach;?>
</table>

有啦,這我知道,我是說接觸了code behind之後,php就愈來愈少用了,因為習慣的問題,前後不分..

至少我現在不會在asp.net的世界裡用<%  %>的習慣了

2
leeihsing0127
iT邦新手 5 級 ‧ 2020-11-17 15:06:18

哈哈~
我之前在電商平台工作,也是設計或美工切版完之後
由我這後端負責其他所有部分,包含前端的JS和JQ特效等等
之前還沒有設計時,我還負責css和切版
不過我是覺得蠻有趣的,可以學到很多,我還自己花錢去學前端的東西 XD

問題1的話
我會看,是引用別人的套件,或是一段程式碼
當然引用套件,我是不會看得很細
如果是一段程式碼的話,真的要了解一下

問題2的話
其實就是透過溝通,讓主管了解 "這部分不是你負責的,會再和設計或美工了解一下問題"
不過,前端給你切版的檔案之後,你應該也需要套版,操作和測試吧? 你都沒發現有問題嗎?
如果是等到主管和其他人才發現問題,那你真的是不夠細心~

最後,溝通真的很重要
不論是面對老闆, 主管, 其他部門像是pm, 前端, QA等等
不要覺得不甘自己的事
不然你會認為都是別人的錯,會做得很累

6
浩瀚星空
iT邦超人 1 級 ‧ 2020-11-17 21:33:11

以下暗黑模式開啟

第一
看不懂的code要用最好要搞懂嗎?
還是就幹脆寫簡單一點??

要用前,要搞懂。
或是要會使用。
依你正則的例子。
你沒懂這些,該死。
提示你:
.英文可以用。.數字不能用。
該死。

這是後端必要學的。且要能解釋這個問題。
因為那不是很困難的東西。可以說是基礎中的進階。
不過,你倒是說了一點。寫簡單點能解釋的,也行。
不過我ps一下。
你真的拿簡單的過來給我的話。我會直接打槍回去叫你重寫並去搞懂正則。
以上是暗黑模式。再來給你說明一下。
正則一定得要去了解。因為無論前後端及任何程式語言。
正則是必要學的。就算搞不懂如何配置。
也得去了解人家的配置意思是什麼。
才不會無法解釋 .111 為何不行。

再多一個提外話。真有人問我 .111不行的話。我也會叫他去吃xxxxx
叫他找一個正常域名有 .111 的域名給我。要容許.111能用的話。
那倒不如不要做判斷算了。

第二
本人小隻後端工程師
轉職約一年,在小公司磨練不到半年

大聲說出來,如果是菜鳥。忍著!!
要不然就是理直氣狀的說。
但要真的不是你的問題。

不過,一般來說。這還得看你前端的能力如何。
如果前端只會排板、不會程式。
那他們不知道這些問題很正常。
責任自然在會程式的人。
這種模式就不會分前後端了。
因為真正的前端是指除了排板之外。也包含了要會處理前端語言。
這樣你才能將責任放在前端身上。
你目前所謂的前端,我只會當他是美工。
不會去思考他會懂編碼的問題,自然要由你去發現並處理好。

以上是我用極端的話語來提點你。能聽懂是最好。沒辦法就當我放屁也行。

2
jellyalex978
iT邦新手 5 級 ‧ 2020-11-18 04:31:43

工程師的品格 實在是一個很難定義的 目標
討論怎樣的工程師是好的,怎樣是爛的,說實話會這樣批評別人的都是自私的
讓別人比較輕鬆就是好工程師,這樣不是挺自私的評分方式嗎 XD

我覺得你應該先定義你到底想當怎樣的程式猿

過著小資的生活,賺不夠但餓不死
那就瞎 copy 一堆程式碼,專案會動會跑就好了
就算只有這樣你程式能力還是有贏台灣 1500 萬人以上,也沒啥問題 XD
下班就看看直播,打打電動,這樣過下去開心也沒啥不好

而那些可能曾經讓你羨慕過的工程師試過怎樣的日子呢
基本上不會局限自己 只會寫 某種東西
工作上為了進度為了效率,可能會很清楚的區分前後端
但你問它們會不會,別說前後端了,可能 C C# JAVA Python 通通都會寫
下了班就開始寫一堆 open source 的東西,沒事就用程式碼來解決生活大小事
(你去看 暗黑模式的浩瀚星空 的歷史回答,看他有沒有再分自己是後端還前端 XD)

我不覺得哪一種生活方式才是正確的
而是你要找到你喜歡的那種
我覺得也不用擔心以後工作的問題
反正大神不想幹的簡單工作,總是需要有人來做 XD

===== ===== ===== ===== =====

至於工作分工的問題
我自己覺得大概只有大公司才能在那邊分 你的 我的
反正大公司不會倒,大家擺爛在那邊也有薪水拿

小公司的話,如果前端不行你又不願意扛,專案拖幾個月下去
要嘛就是重新找人,不然就無薪假放到公司關起來
在小公司談分工談責任,我認為對你的好處並不明顯就是了

如果你真的沒有很愛寫程式,也不想當小資
1年半了我覺得可以思考看看要不要換個工作
我覺得不愛寫程式卻跑來寫程式,蠻痛苦的
因為資訊更新太快,要學的東西超多,沒有一點點熱情會很厭世的 XD

0
D路里
iT邦新手 5 級 ‧ 2020-11-18 08:53:24

講個活生生的案例
就拿你對你用的東西不懂這件事來說
今天我們要對DB做ORM操作
你 Google 了一段語法 linq 貼上
如果發生每次做都 select 幾千萬筆資料效能低下
然後你從linq上又看不出問題在哪
那怎麼辦 ?

答案也很簡單 不要用 等你有天懂了再用

1
賽門
iT邦超人 1 級 ‧ 2020-11-18 09:35:03

Code看不懂, 前端出問題怪後端, 這個不是很常見的嗎?
很多人寫Code寫得很爛, 你行, 自已寫一個出來. 不行, 就只能委曲點.
什麼樣的Code是好的Code? 請參考這篇發問中幾位邦友回答的程式碼, 比較編程結構, 可讀性及可再用性, 我覺得海綿寶大的編程是比較好的.
可是, Javascript是一套非常不嚴謹的編程語言, 於是, 程式設計師只要把Code寫成可使用就行了, 雜亂無章的寫法, 你可以看看 StackOverflow裏對Javascript的問題, 大神們的回答各有千秋, 可見一般.
因為Javascript在發展歷史中, 微軟也扮演了相當重要的角色. 微軟發展了JScript, 用做ASP網站的一種腳本語言, 和VBScript一起, 提供網頁開發人員程使用.
這個發展史, 造就了Javascript的非標準化的濫漡.
至於前端怪後端, 後端只能委曲求全, 這個, 也是網頁開發發展史中的爭議, 所以後來有了全棧工程師的職位, 在大型網站開發專案中, 一定會有前端和後端的職位區分, 專責網頁不同機能的開發, 但也會有全棧的職位, 專責整合的工作.
所以你提的問題, 要用全棧的觀點去檢討, 而不是掉進前後端爭議的坑裏.
至於品格, 這個就太嚴重了, 專業上的爭議, 不要拿人品來討論.
這就像最近的丁丁事件, 美牛問題, 就是把專業問題用品格缺失來討論, 最後, 焦點全失, 瘦肉精危害人體的疑慮, 至今沒人在負責.

我覺得海綿寶大的編程是比較好的

不瞞您說
我也這麼覺得
/images/emoticon/emoticon50.gif

賽門 iT邦超人 1 級 ‧ 2020-11-18 15:39:04 檢舉

/images/emoticon/emoticon01.gif
原來, 海綿寶寶==老王....

我要發表回答

立即登入回答