精品欧美一区二区三区在线观看 _久久久久国色av免费观看性色_国产精品久久在线观看_亚洲第一综合网站_91精品又粗又猛又爽_小泽玛利亚一区二区免费_91亚洲精品国偷拍自产在线观看 _久久精品视频在线播放_美女精品久久久_欧美日韩国产成人在线

接手一個(gè)負(fù)分的iOS項(xiàng)目后我做了什么

移動(dòng)開發(fā)
半年前我加入一個(gè)剛剛拿到 A 輪資金的創(chuàng)業(yè)團(tuán)隊(duì)負(fù)責(zé) iOS 項(xiàng)目。早期的時(shí)候公司生死未卜,只追求快速迭代找到一個(gè)正確的方向。這種早期默默無聞的團(tuán)隊(duì)也沒什么工程追求,就是寫的快就好了。但是確定方向后要長期發(fā)展,就不能再野蠻生長了。基于過去半年我在這個(gè)項(xiàng)目里的實(shí)踐經(jīng)驗(yàn),和大家分享一下。

半年前我加入一個(gè)剛剛拿到 A 輪資金的創(chuàng)業(yè)團(tuán)隊(duì)負(fù)責(zé) iOS 項(xiàng)目。早期的時(shí)候公司生死未卜,只追求快速迭代找到一個(gè)正確的方向。這種早期默默無聞的團(tuán)隊(duì)也沒什么工程追求,就是寫的快就好了。但是確定方向后要長期發(fā)展,就不能再野蠻生長了。

基于過去半年我在這個(gè)項(xiàng)目里的實(shí)踐經(jīng)驗(yàn),和大家分享一下。

代碼托管:自建 Gitlab

早期草根團(tuán)隊(duì)最省事的就是用 GitHub 了。但是團(tuán)隊(duì)人數(shù)增加后用 GitHub 的成本就很高了。普通的團(tuán)隊(duì)套餐每個(gè)月每人 9 刀。另外一個(gè)問題就是 GitHub 部署在國外,國內(nèi)訪問網(wǎng)絡(luò)時(shí)常不穩(wěn)定。聽聞某跨國團(tuán)隊(duì)代碼托管在 GitHub 上,某次重要會(huì)議期間 GitHub 無法正常訪問。真是突如其來的父愛如山。另外一個(gè)缺點(diǎn)就是服務(wù)端如果要自己配置 CI 服務(wù)不太方便。如果部署在自己的服務(wù)器上,其他一些服務(wù)腳本也部署在一起,會(huì)有很大的自主權(quán)。綜合之后選擇了主流的 Gitlab。

工程師的時(shí)間比機(jī)器貴

很多短視的團(tuán)隊(duì)覺得配給工程師的設(shè)備太貴,挑個(gè)便宜點(diǎn)的就好了。一臺好的電腦雖然貴點(diǎn),可是長期下來節(jié)省下來的工程師的編譯時(shí)間比機(jī)器貴多了。在設(shè)備上我跟公司建議那就配最新的 15 寸的 rmbp 唄,再來一個(gè) dell 4K 顯示器唄。后面發(fā)現(xiàn)鍵盤鼠標(biāo)也重要啊,每個(gè)人又補(bǔ)貼了 500 塊的鍵鼠額度。看到很多工程師還在用 air 開發(fā),還有 mac mini 的。真的為這種傻逼公司感到心痛。我曾經(jīng)在的某團(tuán)隊(duì)還是 4 個(gè)終端用同一臺電腦。每次編譯的時(shí)候我就到南京路散個(gè)步。如果晚上要上線,可以去看個(gè)電影回來。

盡早招人

招人是團(tuán)隊(duì)發(fā)展過程中非常重要的一環(huán)。很多早期團(tuán)隊(duì)都低估了招人的難度和周期。因?yàn)椴惶膱F(tuán)隊(duì)招人有兩個(gè)缺點(diǎn):

不能給出太高的薪水

優(yōu)秀的人才當(dāng)然會(huì)比較市場上薪水。已經(jīng)成名已久的 BAT 這種公司自然會(huì)有薪水的優(yōu)勢。創(chuàng)業(yè)公司雖然有期權(quán),但是畢竟公司前途未卜。很多工程師也擔(dān)心公司會(huì)不會(huì)過陣子就倒閉的問題。

團(tuán)隊(duì)事情多且雜

項(xiàng)目成熟后的迭代大多是按部就班,有穩(wěn)定的節(jié)奏。每個(gè)環(huán)節(jié)的都有很細(xì)分的專職人員。早期的項(xiàng)目因?yàn)轫?xiàng)目還是處于成長階段,很可能半路做著看到直播火了,我們加個(gè)直播的需求。或者做著做著發(fā)現(xiàn)競品有個(gè)功能,管不了那么多我們下個(gè)版本就上。或者 CEO 路過的時(shí)候突然有了個(gè)想法,上線的時(shí)間又推后一下。

招人除了技術(shù)的硬指標(biāo),在早期團(tuán)隊(duì)還有一個(gè)工程團(tuán)隊(duì)文化的問題。一個(gè)幾十個(gè)人的項(xiàng)目,里面某個(gè)特定的人的積極性對于項(xiàng)目其實(shí)是不太重要的。他只要完成應(yīng)該完成的工作。甚至和其他人不說話也影響不大。一個(gè)大的項(xiàng)目也不能因?yàn)槿魏我粋€(gè)人不在了就運(yùn)行不下去。

但是早期團(tuán)隊(duì),人就這么幾個(gè)。有一個(gè)人對團(tuán)隊(duì)的使命認(rèn)知不一致,日常行為里就會(huì)有很多摩擦。

我之前思考過團(tuán)隊(duì)文化是什么,怎么形容團(tuán)隊(duì)文化。后來看到一個(gè)說法感覺挺貼切。文化是空氣,無處不在。公司沒有規(guī)定下班后社交平臺上看到用戶反饋需要你去回應(yīng),也不會(huì)規(guī)定你發(fā)現(xiàn)其他部門的產(chǎn)品有問題是不當(dāng)回事還是應(yīng)該去和其他部門的人溝通,又或者看到一個(gè)更好的建議是不是要和公司提出來。這些行為背后的支撐就是團(tuán)隊(duì)文化。在團(tuán)隊(duì)里的人決定了價(jià)值觀。

綜合上面說的,招到一個(gè)匹配的技術(shù)人員,運(yùn)氣好的話幾天就你能遇到,更常見的情況是可能要好幾周的時(shí)間。當(dāng)然如果情急之下招進(jìn)來一個(gè)人,干了幾個(gè)月后發(fā)現(xiàn)不合適就走了,對于團(tuán)隊(duì)的士氣損害也挺大的。

所以考慮到項(xiàng)目未來的進(jìn)展,要及時(shí)啟動(dòng)招人的計(jì)劃。當(dāng)你發(fā)現(xiàn)進(jìn)度忙不過來的時(shí)候開始招人,這個(gè)時(shí)候你要抽時(shí)間去準(zhǔn)備面試的事情,還要兼顧項(xiàng)目進(jìn)度,會(huì)很焦頭爛額。

轉(zhuǎn)型 Swift

團(tuán)隊(duì)里的另外 3 個(gè)同事之前都沒有寫 Swift 的經(jīng)驗(yàn)。但是考慮到未來的發(fā)展趨勢,并且我們的業(yè)務(wù)類型對動(dòng)態(tài)化的要求沒那么強(qiáng)。我堅(jiān)持在團(tuán)隊(duì)里推行使用 Swift 編程。

我經(jīng)常被問到的一個(gè)問題是你想用 Swift 但是團(tuán)隊(duì)里其他人不會(huì)用,會(huì)不會(huì)給項(xiàng)目推進(jìn)帶來困難。其實(shí)如果團(tuán)隊(duì)里有人正確的引導(dǎo),幫他們解決上手過程中的問題,再給一段時(shí)間過渡。很快他們就會(huì)退不回去。

下面介紹一下我把從 OC 遷移到 Swift 的過程。

先用 Swift 寫好網(wǎng)絡(luò)層的庫。借著把常用的幾個(gè) OC Model 和 Swift 對象做好橋接。類似下面這樣:

 

  1. class SwiftUser {  
  2. init(ocUser: OCUser) {  
  3.  
  4. func convertOCUser() {  
  5.  

這樣改造之后如果一個(gè)新的模塊就可以完全用 Swift 編寫。一開始肯定是用 OC 的思維寫 Swift 的代碼。但是在熟悉了 Swift 語法后可以慢慢在 review 過程中提出可以用更 Swift 的寫法。有些功能需要 OC 和 Swift 互相調(diào)用確實(shí)挺麻煩。如果讓一個(gè)沒 Swift 經(jīng)驗(yàn)的上手就解決這些問題一定很氣餒。所以在項(xiàng)目過程中也要分配一定時(shí)間把老的 OC 代碼重寫了。好在原先的代碼本來就很亂,需要重寫。這樣就隨著業(yè)務(wù)推進(jìn)中,Swift 比例越來越高。

這樣經(jīng)過一兩個(gè)月后大家就慢慢熟悉了 Swift ,此時(shí)再去推進(jìn) RxSwift 等框架的使用。

理順開發(fā)工作流

項(xiàng)目早期的時(shí)候需求千千萬,一個(gè)迭代版本中應(yīng)該開發(fā)多少功能呢?產(chǎn)品經(jīng)理本能的就是靠拍腦袋。列了一頁需求后表示這就是這個(gè)版本了。程序員都傾向于樂觀估時(shí)間,做著做著半個(gè)月過去了。下個(gè)迭代的需求、UI 設(shè)計(jì),交付前測試的工作都很混亂。

后來經(jīng)過討論確定了兩周一個(gè)迭代周期。開發(fā)過程中發(fā)現(xiàn)某個(gè)需求這個(gè)迭代里無法完成就挪到了下個(gè)迭代中。每個(gè)周期階段要做什么大家都很明確。兩周左右發(fā)布參考用戶反饋也是一個(gè)比較好的節(jié)奏。

這里要強(qiáng)調(diào)的是開發(fā)過程前期的準(zhǔn)備工作。主要指需求和 UI 圖。大多數(shù)的需求設(shè)計(jì)都是圍繞某個(gè)需求展開,但是這個(gè)需求要融入到現(xiàn)有體系里是有很多周邊的工作要做的。比如產(chǎn)品提出用戶資料里應(yīng)該可以打標(biāo)簽。于是畫了一個(gè)草圖里有標(biāo)簽。對于他可能這個(gè)需求描述的很明確了,但是真正落地的時(shí)候就有其他工作要做。比如標(biāo)簽怎么刪除?標(biāo)簽有字?jǐn)?shù)限制嗎?標(biāo)簽重復(fù)了怎么辦?這些問題如果前期設(shè)計(jì)的時(shí)候產(chǎn)品沒有表達(dá)清楚,就只能在開發(fā)的過程中來回溝通。有一個(gè)經(jīng)驗(yàn)豐富的開發(fā)者在前期就參與需求的討論,和提出問題對于在后期開發(fā)有很大的幫助。

不用 Sketch 的設(shè)計(jì)師不是好設(shè)計(jì)師

我看到很多設(shè)計(jì)師沿用傳統(tǒng),一直使用 PS 。然而實(shí)際上業(yè)界使用矢量設(shè)計(jì)工具 Skecth 已經(jīng)很普遍了。現(xiàn)在手機(jī)的屏幕尺寸更異,如果設(shè)計(jì)的時(shí)候不是矢量圖,而是位圖,做響應(yīng)式的布局設(shè)計(jì)就會(huì)很不方便。實(shí)際上移動(dòng)的 UI 設(shè)計(jì)如果用慣 Sketch ,絕對是生產(chǎn)力的極大提升。

但是和大多數(shù)人一樣,很多設(shè)計(jì)師都會(huì)覺得 PS 用的也挺順手的,Sketch 沒用過。其實(shí) leader 是有義務(wù)去推動(dòng)一些人,讓美好發(fā)生。

之前我在的團(tuán)隊(duì)我就一直不斷暗示不厲害的設(shè)計(jì)師才用 PS ,后來刺激了幾周后他說他現(xiàn)在也可以用 Sketch ,后來慢慢項(xiàng)目 symbol 都湊齊了 PS 他也退不回去了。

當(dāng)然也有非常老派的設(shè)計(jì)師,這種只能給他壓力讓他去被動(dòng)改變。當(dāng)時(shí)我們團(tuán)隊(duì)有一個(gè)四十多高齡設(shè)計(jì)師,我們也很為難。我當(dāng)時(shí)想那算了,下個(gè)月如果你不能用 Sketch 出圖就自己準(zhǔn)備換個(gè)工作吧。當(dāng)然作為一個(gè)團(tuán)隊(duì)也不能給個(gè)指示就甩手不管了。中間已經(jīng)熟練使用 Sketch 的設(shè)計(jì)師會(huì)特別關(guān)注他的學(xué)習(xí)狀態(tài),及時(shí)指導(dǎo)。最后也得到了一個(gè)好的結(jié)果,他在被迫改變后發(fā)現(xiàn) Sketch 確實(shí)更好用。

這里還有安利一個(gè)很好用的輸出設(shè)計(jì)圖的軟件:zeplin。設(shè)計(jì)圖直接采用標(biāo)注的方式會(huì)很死板。程序員在查看過程中可以自己查看到設(shè)計(jì)圖的所有源信息效率會(huì)得到極大的提升。

 

圖0:接手一個(gè)負(fù)分的 iOS 項(xiàng)目后我做了什么

接入 CI

很多團(tuán)隊(duì)改變代碼里的宏來區(qū)別 app 里的環(huán)境,每次提交前改下宏。常在河邊走,哪能不濕鞋。我還真遇到過提交 App Store 的時(shí)

候,有人忘記改環(huán)境的宏,app 連接到的是測試環(huán)境。這里想說的不是發(fā)布前要仔細(xì)檢查,而是這種情況就不應(yīng)該發(fā)生。

實(shí)際上通過 Xcode 打包手動(dòng)提交也是一個(gè)充滿風(fēng)險(xiǎn)的過程。因?yàn)椴粫r(shí)會(huì)出現(xiàn)本地改了幾行代碼,提交的時(shí)候把本地的代碼也提交了。帶來了未知的風(fēng)險(xiǎn)。

我通過配置 Xcode 里的 scheme、target 來區(qū)分環(huán)境。利用 fastlane 來完成自動(dòng)打包上傳的工作。結(jié)合 Gitlab 的 CI ,配置了 Gitlab runner,從此打包只需要點(diǎn)擊一下按鈕。降低了發(fā)布的人工操作風(fēng)險(xiǎn)。

我們的組件是用 cocoapods 管理依賴的。配置了 Gitlab runner 后,組件的版本更新也放在遠(yuǎn)端工作,不再基于本地。配置了 webhook 后,每次 job 完成后 slack 的 channel 里大家都會(huì)收到消息。

用好 Testflight,注重 beta 反饋

早期業(yè)務(wù)變化頻繁,沒有自動(dòng)化測試,只能靠人工測試保證穩(wěn)定。一開始團(tuán)隊(duì)選擇了發(fā)布企業(yè)版的包來測試。當(dāng)然企業(yè)版用戶可以方便的下載安裝,但是也有不少缺點(diǎn)。最大的缺點(diǎn)就是這個(gè)包和 App Store 的包是兩個(gè)包,不一樣的 bundle id 。會(huì)導(dǎo)致一些跟包綁定的功能無法正常測試,比如微信登錄、支付后的跳轉(zhuǎn)。

我們的業(yè)務(wù)里有聊天的功能,聊天記錄是只存在本地的。而且我們認(rèn)為一個(gè)賬號只能在同一個(gè)平臺上的一臺設(shè)備登錄。這就導(dǎo)致用戶測試的時(shí)候賬號會(huì)從 App Store 版本登出,這樣聊天記錄就沒了。熱心用戶愿意試用我們的 beta 版,但是也承擔(dān)了不該有的代價(jià)。基于這點(diǎn)考慮在我的主導(dǎo)下我們放棄了發(fā)布企業(yè)版的包測試的方式。而是改用利用 testflight 測試。

Testflight 有個(gè)較大的使用門檻,需要收集用戶的郵箱,之后在 testflight 里輸入蘋果發(fā)出的邀請碼才能開始測試。很多用戶嫌麻煩就退出了,運(yùn)營認(rèn)為這樣會(huì)給測試帶來很大的不便。但是冷靜了心態(tài)后其實(shí)事情并沒有那么糟糕。真正對這個(gè)產(chǎn)品有興趣的用戶不會(huì)因?yàn)橐顐€(gè)郵箱就放棄了。那些流失的只是普通的用戶。用戶使用了 Testflight 后,后續(xù)的測試包的發(fā)布也會(huì)收到更新。不會(huì)像企業(yè)版那樣,只能手動(dòng)的告訴用戶我們有新的測試包。當(dāng) beta 測試活躍用戶超過 100 個(gè)會(huì)有一個(gè)質(zhì)變。這些都是積極的重度用戶,一群重度用戶使用你的新版本幾天,至少可以保證核心業(yè)務(wù)邏輯是沒有紕漏的。

之前有人問過我們使用 Swift ,線上出嚴(yán)重 bug 時(shí)沒法動(dòng)態(tài)修復(fù),會(huì)不會(huì)帶來很多問題。實(shí)際上因?yàn)橛羞@樣一環(huán) beta 測試環(huán)節(jié),很少出現(xiàn)嚴(yán)重的事故了。有一次意外是我們的 Swift 版本升級到 4.0 的時(shí)候,一個(gè)枚舉居然對 iOS 8 設(shè)備不兼容(Xcode 并沒有提示我們,蘋果的鍋)。那個(gè)版本也恰好是支持 iOS 8 的最后一個(gè)版本。我們的測試用戶里剛好沒有使用 iOS 8 系統(tǒng)的。

Beta 測試的時(shí)候可以讓用戶及時(shí)的反饋問題也是很重要的。如果我跟你反饋一個(gè)問題,又要看 app 版本,又要說在哪個(gè)頁面,還要說一下我的 userID。用戶的脾氣也是夠好的。我們在 app 集成了搖一搖反饋 bug 的功能,操作步驟,網(wǎng)絡(luò)請求,設(shè)備信息等這些有效的信息都會(huì)一起收集起來。在后臺可以方便的看到。告訴用戶碰到問題搖一搖,描述一下問題就可以了。用戶反饋后我們會(huì)收到郵件,及時(shí)的反饋用戶用戶也很有參與感。

搖一搖的功能并沒有對所有用戶開放,只是針對某些特定我們能聯(lián)系到的用戶開放。畢竟每一個(gè)反饋工程師都需要跟進(jìn),如果面向所有用戶開放,我們會(huì)收到太多無效信息。常看到工程師討論這些開發(fā)者功能的入口要藏在哪里,有的說在某個(gè)文本框輸入特定字符,有的說在某個(gè)角落里點(diǎn)幾下什么的。開發(fā)者面板的入口我選擇配置在 universal link 里。這樣用戶不會(huì)在 app 里任何一個(gè)地方誤觸到達(dá),只能通過我們告訴他的鏈接通過跳轉(zhuǎn)到達(dá)。

堅(jiān)持 Code Review,增強(qiáng)技術(shù)交流

Code review 是一件神奇的事情。所有有素養(yǎng)的工程師都覺得 code review 好,據(jù)我們所知國外很多優(yōu)秀的 IT 企業(yè)都很注重 code review,但是在國內(nèi)卻很少看到有團(tuán)隊(duì)執(zhí)行 code review。或者中小團(tuán)隊(duì)里很少看到 code review。

但是我很看重 code review,從情懷的角度講,這里面是工程師技藝的一種傳承。一個(gè)方法名起的不好,從公司角度來看,這個(gè)項(xiàng)目一樣會(huì) work 。但是從工程師角度來說,如果有能力,為什么不幫助那些剛開始寫代碼的人一些指引呢?

作為一個(gè) leader,在 review 的時(shí)候幫助成員成長,和只是看下代碼是不是能完成功能最后會(huì)引向不同的結(jié)果。看過一句很有觸動(dòng)的話,現(xiàn)在很多 leader 知道自己的工作里需要管理其他人,但是卻忽略了還需要 lead 。

老實(shí)說推進(jìn) code review 確實(shí)遇到很多阻力。有團(tuán)隊(duì)里的也有團(tuán)隊(duì)外的。團(tuán)隊(duì)外的看法是 code review 拖慢了項(xiàng)目進(jìn)度。我作為一個(gè)核心的開發(fā)成員,每天超過 20% 的時(shí)間是沒有可見的工作產(chǎn)出的。有時(shí)別人寫的有問題被我打回去改,一個(gè)已經(jīng)完成的功能又多花了幾個(gè)小時(shí)。團(tuán)隊(duì)內(nèi)遇到的問題是,很多成員不理解這項(xiàng)工作背后的價(jià)值。很容易就覺得我早上沒有推進(jìn)項(xiàng)目進(jìn)度,只是在坐在那里不知道在看什么。覺得我 commit 的代碼不多。最后我獲得了團(tuán)隊(duì)“代碼最少產(chǎn)出”獎(jiǎng)。

對于我個(gè)人而言,其實(shí)不搞 review 我肯定更輕松。這個(gè)功能我肯定能把控所有細(xì)節(jié),這樣寫只是不好而已,也不是不能用。我也大可以不對他們解釋為什么這樣寫是不好的。只要讓他們按照我的 comment 改就可以了。

但是吃力不討好的堅(jiān)持是為了什么?

我剛工作的時(shí)候,出去旅游路上遇到一個(gè)大學(xué)教授。閑聊起來我說我請教你一個(gè)問題,中國古代的鞋子,會(huì)把花繡在鞋底。鞋底其他人又看不到,這樣做的意義是什么。他回答說,我們做事不是做給別人看的,最后還是要過自己心里這一關(guān)。花繡在鞋底,別人看不到,你自己知道。

責(zé)任編輯:未麗燕 來源: 程序師
相關(guān)推薦

2024-01-22 11:06:47

系統(tǒng)后端開發(fā)

2024-02-26 07:51:08

業(yè)務(wù)系統(tǒng)迭代

2022-12-05 18:17:06

技術(shù)

2015-05-21 15:46:20

2022-02-22 20:35:22

公鑰私鑰數(shù)據(jù)

2025-03-06 13:10:32

2023-11-28 12:00:22

應(yīng)用程序API

2025-09-01 00:00:00

2020-07-15 15:09:21

Python掃雷游戲Windows

2020-05-08 13:28:53

新擬物UI設(shè)計(jì)

2020-11-16 09:02:38

Python開發(fā)工具

2022-09-02 15:22:32

Vue3.2技術(shù)代碼

2021-04-29 15:53:21

AI 數(shù)據(jù)人工智能

2025-09-05 04:22:00

2022-08-17 12:09:29

Vue3.2代碼

2019-12-23 11:03:07

抽象MOVJava

2014-03-26 14:23:36

Microsoft AWindows Azu微軟

2021-10-28 17:40:22

Nest.js前端代碼

2022-11-03 17:33:40

JavaString 類型

2024-03-22 08:51:36

分庫分表項(xiàng)目
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號

久久影院中文字幕| 欧美日韩中文一区| 久久久久久久久一区二区| 欧美在线观看不卡| 久久人人99| 精品国产乱子伦一区| 日本va中文字幕| 成人毛片18女人毛片| 青春草在线免费视频| 波多野结衣精品在线| 国产精品999999| 中文字幕亚洲欧美日韩| 亚洲国产国产| 日韩一区二区在线看| 欧美性大战久久久久xxx| 免费的黄网站在线观看| 91麻豆6部合集magnet| 成人性教育视频在线观看| 国产成人在线观看网站| 天天天综合网| 亚洲三级黄色在线观看| 麻豆短视频在线观看| 91九色综合| 欧美性xxxxx| www.国产在线视频| 国产写真视频在线观看| 久久精品在线观看| 精品国产乱码久久久久久久软件| 91免费视频播放| 欧美综合二区| 69国产精品成人在线播放| 永久免费未视频| 国产欧美日韩一区二区三区四区| 亚洲第一色中文字幕| 少妇性l交大片7724com| 成人在线观看免费播放| 色女孩综合影院| 成人黄色av片| 久草成色在线| 一区二区三区四区蜜桃| 三级网在线观看| 1区2区3区在线观看| 久久久噜噜噜久久人人看 | 国产高潮流白浆| 国产成人一区| 亚洲色图偷窥自拍| 无码h肉动漫在线观看| 国产精品18hdxxxⅹ在线| 日韩欧美一区二区免费| 在线观看视频你懂得| 国产精品va视频| 欧美精品粉嫩高潮一区二区| 向日葵污视频在线观看| 欧美日韩精品一区二区三区视频| 色伊人久久综合中文字幕| 国产免费毛卡片| 色在线中文字幕| 欧美日韩精品二区| 国产精品久久久对白| 欧美日韩一区二区三区四区五区| 91久久久久久久| 中文字幕福利视频| 免费不卡在线观看| 91精品福利| 欧美日韩久久久一区| 男人透女人免费视频| 色老太综合网| 蜜臀av性久久久久蜜臀aⅴ流畅| 久久精品30| 伊人久久五月天| 久久久久亚洲AV成人无在| 欧美一级精品片在线看| 一本色道久久综合狠狠躁篇的优点 | 91麻豆精品国产自产在线| 色一情一区二区| 国产一区二区三区黄网站| 日韩欧美国产午夜精品| 日本三级日本三级日本三级极| 精品国产18久久久久久洗澡| 亚洲精品一区av在线播放| 成人黄色a级片| 久久综合av| 欧美大片免费观看在线观看网站推荐 | 国产在线观看福利| 美女色狠狠久久| 日韩一级免费观看| 欧美成人午夜精品免费| 五月天久久网站| 久久久噜噜噜久久| 中文字幕免费观看| 精品在线播放免费| 国产日韩欧美综合精品| 春暖花开成人亚洲区| 亚洲欧美偷拍另类a∨色屁股| 国产玉足脚交久久欧美| 欧美韩国亚洲| 日韩欧美高清dvd碟片| 黄色正能量网站| 91精品精品| 日韩美女av在线免费观看| 国产精品国产精品国产专区| 国产91精品免费| 日韩高清国产一区在线观看| 亚洲制服国产| 在线看日本不卡| 午夜影院福利社| 日韩一区二区三区免费播放| 欧美精品aaa| 欧美高清69hd| 成人国产视频在线观看| 亚洲春色在线视频| 国内精彩免费自拍视频在线观看网址| 欧美性猛交xxxxxxxx| 亚洲高清无码久久| 亚洲国产精品久久久久蝴蝶传媒| 欧美一区第一页| 亚洲国产精品久久久久久6q| 欧美国产欧美综合| 浮妇高潮喷白浆视频| 国产亚洲精aa在线看| 伊人久久免费视频| 国产免费一区二区三区四区五区| 粉嫩高潮美女一区二区三区| 在线看视频不卡| 99热播精品免费| 日韩高清不卡av| 国产精品suv一区二区| 国产乱对白刺激视频不卡| 日韩女优中文字幕| 成人爱爱网址| 亚洲国产精品久久精品怡红院| 老熟妇高潮一区二区三区| 久久只有精品| 久久久久久国产精品mv| а√在线中文网新版地址在线| 制服.丝袜.亚洲.中文.综合| 免费成人深夜天涯网站| 久久久噜噜噜| 欧美一区1区三区3区公司| 国产免费拔擦拔擦8x高清在线人 | 婷婷久久综合九色综合伊人色| 91精品视频国产| 亚洲欧美综合久久久| 国产精品午夜视频| 日本三级视频在线播放| 欧美三级一区二区| 国产午夜精品福利视频| 日产欧产美韩系列久久99| 欧美第一黄网| 日韩不卡免费高清视频| 亚洲人高潮女人毛茸茸| 无码人妻久久一区二区三区| 久久精品免费在线观看| 人妻无码视频一区二区三区| 精品精品久久| 国产精品第七影院| 91在线播放网站| 欧美精品少妇一区二区三区| 黄色录像免费观看| 国产精品资源在线看| 日韩精品久久一区二区| 久久夜色电影| 日韩av电影在线免费播放| 国产人成在线视频| 欧美精品一卡两卡| 欧美高清视频一区二区三区| 成人黄色大片在线观看| 黄色高清无遮挡| 999成人网| 97人人干人人| 欧亚在线中文字幕免费| 日本一区二区在线看| 久久久九九九九| 五十路熟女丰满大屁股| 小说区图片区色综合区| 国产精品video| 国产无遮挡猛进猛出免费软件| 伊人久久国产精品| 中文一区在线播放| 国产男女无遮挡猛进猛出| 欧美性久久久| 激情小说综合区| 日韩高清dvd碟片| 国产一区二区三区精品视频| 免费高清一区二区三区| 亚洲品质自拍| 亚洲综合中文字幕在线观看| 99riav视频在线观看| 播放一区二区| 日本道精品一区二区三区| 变态另类ts人妖一区二区| 国产一区激情在线| 精品久久一二三| 久久一区二区三区电影| 国产美女99p| 成人国产精品一区二区免费麻豆| 欧美激情在线一区| 国产一级二级三级在线观看| 91精品国产一区二区人妖| 国产一级片毛片| 中文字幕中文乱码欧美一区二区 | 3d性欧美动漫精品xxxx软件| 久久国产精品视频| 免费在线黄色网址| 日韩欧美精品在线视频| 亚洲中文字幕无码爆乳av| 一区二区视频在线看| 日本乱子伦xxxx| 成人av手机在线观看| 日韩欧美国产片| 午夜一级久久| 天堂8在线天堂资源bt| 精品日本12videosex| 国产高清一区二区三区| 欧美一区二区三区婷婷| 国产91对白在线播放| 影院在线观看全集免费观看| 中文字幕精品av| 视频国产在线观看| 日韩手机在线导航| 亚洲怡红院av| 日本韩国欧美国产| 欧美一区二区激情视频| 亚洲一区二区三区自拍| 极品色av影院| 国产精品丝袜久久久久久app| 国产黄色三级网站| 福利视频网站一区二区三区| 中文字幕1234区| 美女一区二区三区| 牛夜精品久久久久久久| 久久在线精品| 任你操这里只有精品| 国产一区二区三区久久| 黄页网站在线观看视频| 欧美视频日韩| 国产成人生活片| 欧美一区91| 中国黄色录像片| 亚洲欧洲中文字幕| 国产日产欧美一区二区| 综合一区二区三区| mm131午夜| 国产一区日韩一区| a天堂资源在线观看| 欧美精品国产一区二区| 佐佐木明希av| 欧美a级片网站| 亚洲国产一二三精品无码| 欧美日韩精选| 久久男人资源站| 亚洲国产高清一区| 亚洲熟妇无码一区二区三区| 日韩午夜高潮| 欧美日韩一道本| 久久xxxx精品视频| 国产性生交xxxxx免费| 男人的天堂久久精品| 国产一伦一伦一伦| 黑人精品欧美一区二区蜜桃| 91香蕉视频在线观看视频| 国产精品一区二区不卡| 亚洲黄色小说在线观看| www.在线欧美| 中文字幕在线1| 国产精品久久久久久久久免费相片| 99鲁鲁精品一区二区三区| 亚洲蜜臀av乱码久久精品蜜桃| 九九热只有精品| 同产精品九九九| 国产suv精品一区二区33| 欧美日韩中字一区| 成人黄色在线观看视频| 日韩电影免费观看在线观看| 免费在线性爱视频| 日韩亚洲精品电影| 黄色成人在线网| 国产v综合ⅴ日韩v欧美大片| 祥仔av免费一区二区三区四区| 亚洲尤物视频网| 色天天色综合| 一区二区三区观看| 亚洲福利免费| 污版视频在线观看| 国产白丝网站精品污在线入口| 精品视频站长推荐| 国产精品美女久久久久久久久久久| 毛片aaaaa| 欧美影视一区二区三区| 成人黄色免费视频| 亚洲丝袜一区在线| 最新av在线播放| 国产精欧美一区二区三区| 蜜桃精品视频| 欧美国产一区二区在线| 欧美精品综合| 国产精品视频分类| 99国产精品久久久久久久久久久| 天堂网中文在线观看| 午夜精品在线视频一区| 一级黄色大片免费观看| 日韩精品在线观看网站| 好吊日视频在线观看| 欧美中文在线视频| 日韩精品视频在线看| 日韩三级电影免费观看| 国内精品久久久久久久97牛牛| 欧美丰满熟妇xxxxx| 成人h版在线观看| 五月综合色婷婷| 色94色欧美sute亚洲线路一ni | 日韩av一区在线观看| 国产调教视频在线观看| 国产福利精品视频| 九色丨蝌蚪丨成人| 男女爱爱视频网站| 九九久久精品视频| 国产中年熟女高潮大集合| 亚洲国产成人高清精品| 国产片高清在线观看| 亚洲系列中文字幕| 极品在线视频| 国产91一区二区三区| 亚洲欧洲日韩| 亚洲妇熟xx妇色黄蜜桃| 中文字幕va一区二区三区| 国产一级片毛片| 日韩av在线免费看| ****av在线网毛片| 国产精品一区二区免费| 欧美另类专区| 污视频在线观看免费网站| 中文字幕亚洲区| 国产99久久久久久免费看| 亚洲美女喷白浆| 涩涩视频网站在线观看| 久久av一区二区三区漫画| 亚洲国产精品第一区二区三区| 波多野结衣中文字幕在线播放| 亚洲欧美偷拍三级| 99国产精品一区二区三区 | 日韩免费一区二区三区| 久久性色av| 男女做爰猛烈刺激| 一本大道久久a久久精二百| 日本一区高清| 欧美在线国产精品| 亚洲人成伊人成综合图片| 久久精品99国产| 国产午夜亚洲精品羞羞网站| 在线精品免费视| 在线看片第一页欧美| 国产成人精品一区二区三区在线 | 精品99久久久久久| yellow字幕网在线| 麻豆久久久9性大片| 久久中文字幕一区二区三区| 日本性高潮视频| 欧美日韩国产一区| 国产精品va在线观看视色| 亚洲自拍偷拍视频| 黄色日韩精品| 中文字幕一区二区三区人妻不卡| 色播五月激情综合网| 日韩成人影视| 国产精品日韩一区二区三区 | 欧美亚洲一区在线| 北条麻妃国产九九九精品小说| 视频在线观看免费高清| 亚洲女与黑人做爰| 人妻精品一区一区三区蜜桃91| 51色欧美片视频在线观看| 欧美在线免费看视频| 91性高潮久久久久久久| 亚洲高清免费在线| 黄色网址在线播放| 91精品在线国产| 99香蕉国产精品偷在线观看| 亚洲精品国产一区黑色丝袜| 欧美人动与zoxxxx乱| 欧美videos另类精品| 免费一区二区三区在在线视频| 美女尤物国产一区| 日韩激情一区二区三区| 亚洲欧美色婷婷| 国产美女亚洲精品7777| 无码专区aaaaaa免费视频| 国产日韩欧美激情| 亚洲国产精品国自产拍久久| 国产激情999| 亚洲午夜一区| 国产精品一区二区亚洲| 精品久久久久久久人人人人传媒 | 波多野结衣片子| 欧美一级欧美一级在线播放| 一区二区乱码| 欧美交换配乱吟粗大25p| 国产欧美精品在线观看| 韩国av免费在线观看| 国产精品视频精品|