前言
每個月進行工作總結,有利於自己回顧在這個月完成了什麼工作,有哪些地方做的好,想想還能不能做的更好;哪些地方做的不好遇到哪些問題,記錄下來,審視自己避免重蹈覆轍。以下從技術、工作、學習上來總結一下自己這個月遇到了什麼問題,有哪些感悟以及未來如何去做一個梳理。
技術
在技術上的收穫來源於具體的場景和解決的問題。這周遇到了兩個問題。一是如果是多條件判斷賦值怎麼進行優化代碼;二是頁面左右外邊距固定,中間是兩列自適應的多個盒子內容,兩列之間有20px的外邊距怎麼實現這個佈局。
一多條件判斷賦值怎麼進行優化代碼
在這裏,同事給我的建議是通過對象的鍵值實現
//bad code
let name;
function getName(index) {
if (index == 'zhangsan') {
name = '張三'
} else if (index == 'lisi') {
name = '李四'
} else if (index == 'wangwu') {
name = '王五'
}
}
//good code
let obj = {
zhangsan: {
name: '張三'
},
lisi: {
name: '李四'
},
wangwu: {
name: '王五'
}
let name;
function getName(index) {
name = obj[index].name;
}
}
二是如何實現中間兩列自適應
剛開始我的思路是通過calc()這個函數來計算自適應的寬度,不過小組負責人說使用這個方法可能存在性能問題,於是和同事討論得到了一個更好的解決方案:在外層再包個盒子,給外層盒子50%的寬度,外層父盒子寬度100%,外層盒子的外邊距通過子盒子外邊距撐開,具體實現代碼如下:
<style>
.wrap {
box-sizing: border-box;
padding: 0 100px;
background-color: pink;
}
.wrap .content {
width: 100%;
}
.wrap .item {
width: 50%;
float: left;
margin-top: 10px;
}
.wrap .content-area {
background-color: green;
}
.wrap .item:nth-of-type(2n+1) .content-area{
margin-right: 10px;
}
.wrap .item:nth-of-type(2n) .content-area{
margin-left: 10px;
}
.clearfix:after {
content: ".";
display: block;
height: 0;
visibility: hidden;
clear: both;
}
.clearfix {
zoom: 1;
}
</style>
<div class="wrap">
<div class="content clearfix">
<div class="item">
<div class="content-area">1</div>
</div>
<div class="item">
<div class="content-area">2</div>
</div>
<div class="item">
<div class="content-area">3</div>
</div>
<div class="item">
<div class="content-area">4</div>
</div>
</div>
</div>
通過這兩個問題的解決,打開了我思考問題的門,以前在學校思考解決問題的方法時,只要想出一種解決方案就行了,可是在工作中講究的是最優的解決方案,給出思考後最好的解決方案。同時,自己寫的代碼要經過審查,要考慮代碼的可讀性和優化自己的代碼,提高自己代碼的性能。
工作
工作上要持有認真負責的態度,要懂得合作,實時保持溝通交流。作爲一名合格的前端工程師,不僅僅是完成自己的工作,在工作過程中要和產品經理,UI工程師,後臺工程師合作。工作中要和產品經理確認需求,討論需求可不可行,合不合理,知道這個需求是在什麼場景下使用的,解決用戶的什麼問題;設計上和UI工程師確認這樣設計的目的是什麼,這樣的設計對於代碼的實現能不能做到,合不合理,代碼實現後和預效果是否保持一致,有沒有更好的方式提升用戶的體驗;實現功能上要和後臺工程師確認接口,需要給後臺傳什麼樣的接口,參數是什麼類型的,同時後臺返回什麼數據給前端。對用戶操作錯誤後如何友好的給出提示,同時考慮代碼的安全性,如何讓自己的程序更健壯更安全;這些都是自己在工作中要做到和學習的。
學習
在目前工作的公司學習氛圍很濃,每星期都有技術分享和交流會,在交流學習方法時,項目經理的話使我印象很深刻。引用他的話意思就是說學習要講究方式方法,我們不能只是想學就去找些資料看看就完了,而是要制定自己的學習計劃,通過什麼標準來衡量自己的學習成果。
我很贊同他的觀點,學習要細化自己的學習目標,將一個大的學習計劃進行一步一步劃分,具體到每季度每個月每週每天要學習什麼,同時檢驗自己的學習成果,以前在學校學習的時候是通過考試來檢驗自己的學習成果,現在是通過寫博客輸出,技術交流,技術演講或者做項目的方式來檢驗自己的學習成果。
2019年的展望
現在距離2019只有不到十天的時間了,自己2019的學習計劃也將被提上日程,相信在2019年自己不僅僅收穫技術上和經驗上的提升,自己的視野和各項綜合能力也能得到進一步發展。