1. 程式人生 > >包建強的培訓課程(17):Java程式碼敏捷之道

包建強的培訓課程(17):Java程式碼敏捷之道

第1講 千言萬語聊註釋

  • 按圖索驥
  • 奇葩註釋“賞析”
  • Git提交的學問

第2講 RxJava:函數語言程式設計

  • 從一隻貓的故事說起
  • 背壓

第3講 程式碼瘦身

  • 抽象相同邏輯的程式碼
  • 查詢相似程式碼
  • AOP一瞥

第4講演算法之美

  • 從集合中刪除元素
  • 陣列中的XOR
  • 巧妙的數字運算
  • 判斷一個點在不在三角形中

第5講 設計模式精粹

  • 多型的藝術
  • 過載
  • 重寫
  • 面向抽象程式設計
  • 一個類只做一件事情
  • Open-Close
  • 從switch…case說起
  • 多使用引用,少使用繼承
  • 不和陌生人說話
  • 寬窄介面與備忘錄模式
  • 後退操作的三種實現
  • Comand:不可逆
  • Command:可逆
  • Memento:用空間換時間
  • 炒菜的學問:裝飾器模式
  • 2個物件還是361個物件:享元模式與圍棋

課堂練習

1. 您所在的團隊有程式碼規範嗎?如果有,一起review一下;否則,結合今天的課程,一起制定一份。

相關推薦

培訓課程17Java程式碼敏捷

第1講 千言萬語聊註釋 按圖索驥 奇葩註釋“賞析” Git提交的學問 第2講 RxJava:函數語言程式設計 從一隻貓的故事說起 背壓 第3講 程式碼瘦身 抽象相同邏輯的程式碼 查詢相似程式碼 AOP一瞥 第4講演算法之美 從集合中刪除元素

培訓課程11iOS Runtime實戰

iOS Runtime實戰 一、簡介 本課程結合講師多年來對iOS Runtime技術的潛心研究,以及在千萬級使用者的App上長期實踐經驗,整理而成。本課程從NSObject和Class講起,然後會介紹本課程的核心內容——自省和Method Swizzling,最後通過iOS

培訓課程1Android App企業級開發

Android企業級開發實戰 一.簡介 結合講師5年來一線工作經驗,打造千萬級使用者所需要的Android開發框架,以使用快速迭代的節奏和上百人的團隊協作。每一個知識點的總結,都是講師在踩過坑之後,血和淚的經驗教訓,十分有參考借鑑的意義。 本課程系列適合於從事Android開發1-2

培訓課程10Android外掛化從入門到精通

Android外掛化和熱修復 一.簡介 本課程結合講師多年來對Android外掛化技術的潛心研究,以及在千萬級使用者的App上長期實踐經驗,整理而成。本課程從四大元件的外掛化技術講起,中途會詳細剖析Android系統中與外掛化技術有關的底層概念,最後詳細介紹業界流行很廣的外

培訓課程15Android App熱修復技術

Android外掛化和熱修復 一.簡介 本課程是目前對Android熱修復技術最全的整理和講解,涉及熱修復的歷史、技術流派,詳細介紹了業界各種熱修復技術的原理和接入方式,並對每種熱修復技術的優缺點進行評測。 本課程系列適合於: l從事Android開發2-3年的中高階技術人

培訓課程9Android App效能優化

課程名稱:Android App效能優化 一、簡介 本課程根據講師多年來從事App開發的工作經驗,以及業界若干App的效能優化經驗分享,總結出Android App開發時的若干效能優化經驗,基本覆蓋了Android App效能優化的方方面面。 本課程在講解Android App效能

培訓課程13iOS與ReactNative

課程名稱:iOS與ReactNative 一、簡介 本課程講解目前最火的ReactNative技術,從入門講起,包括NodeJS、React和ES6等基礎知識,隨後從淺入深逐步剖析ReactNative,包括ReactNative的原理、實戰以及一些高階實用技巧。 本

培訓課程5演算法與資料結構

演算法與資料結構 一、簡介 本課程是基於資料結構來設計的,蒐羅了各大公司面試過程中經常被問到的300多個演算法題目,從中遴選出70道經典題目,分為單鏈表、陣列、二叉樹、棧、數字、邏輯推理等多個類別。 本課程將培訓學員的邏輯思維能力,學以致用,在實戰中編寫出效能更好、邏輯更嚴謹的程式。 本課程適

培訓課程16Android新技術入門和提高

Android新技術入門和提高 一.簡介 # 課程簡介 結合講師5年來一線工作經驗,對Android業界的各種新技術、新思想的持續學習、研究以及付諸實踐,將研究心得和實踐經驗彙編成本課程。 # 受眾定位 本課程系列適合於從事Android開發1-2年的技術人員,幫助他們使

培訓課程12iOS深入學習記憶體管理、Block和GCD等

iOS記憶體管理 一簡介 結合講師5年來一線工作經驗,以及對iOS的深刻理解,整理出這個課程,涉及iOS記憶體、Block、GCD和Category的原理和使用。 本課程系列適合於從事iOS開發1-2年的技術人員,幫助他們鞏固基礎,從而在ARC開發環境下高效的使用GCD、Bloc

培訓課程2Android與設計模式

課程名稱:Android與設計模式 一、簡介 本課程根據講師十多年的一線工作經驗,涉足.NET、Android、iOS等多個技術領域,對設計模式有獨到的理解。不拘泥於傳統的書本教程,結合Android在實際專案中的運用,幫助學員深刻理解設計模式。 本課程讓學員掌握二十

com4j學習1Java操作VisioJava讀取Visio圖形關係並存儲到XML檔案中

前言: MicroSoft Visio是微軟旗下一款非常非常出色的繪圖軟體,可以用來繪製各種各樣的圖形(如流程圖、UML、工程圖等)。現在有這樣一個需求,我們想讀取visio中的圖形的形狀、屬性、連線關係等到程式中(java、c++、python都行),這樣我

ROS 進階學習筆記17ROS導航2關於 move_base Package(底盤移動)

== 關於move_base 包(底盤移動包?移動底盤包?) == 開始之前,我[email protected]有幾個問題(Link on ROS_Answer)需要搞定: costmap_2d包 與 move_base包 是什麼關係?導航時,在RviZ工具中,

Linux命令學習17ifconfig命令

廣播 參考 vip 統計 協議 cnblogs 還需要 pro 網絡 版權聲明更新:2017-05-22博主:LuckyAlan聯系:[email protected]/* */聲明:吃水不忘挖井人,轉載請註明出處! 1 文章介紹 我們知道,在windows中,

5.創web服務器LNMP

期中架構 web lnmp 創建web服務器(LNMP): # optimization by onekeysed -i ‘s#SELINUX=enforcing#SELINUX=disabled#‘ /etc/selinux/configgrep SELINUX=disabled /etc/s

Akka17 Stream數據流基礎組件-Source,Flow,Sink簡介

continue 時間 reat linear asi 我們 大數據 resin 解決問題 在大數據程序流行的今天,許多程序都面臨著共同的難題:程序輸入數據趨於無限大,抵達時間又不確定。一般的解決方法是采用回調函數(callback-function)來實現的,但這

每天一個linux命令17whereis 命令

數據 幫助 參數 執行 localhost root 一個數據庫 usr 位置 whereis命令只能用於程序名的搜索,而且只搜索二進制文件(參數-b)、man說明文件(參數-m)和源代碼文件(參數-s)。如果省略參數,則返回所有信息。 和find相比,whereis查找的

Python從菜鳥到高手17改變函數參數的值

完全 images 字符串類 mage 修改 ref https ans 首地址 如果將一個變量作為參數傳入函數,並且在函數內部改變這個變量的值,那麽結果會怎麽樣呢?我們不妨做一個實驗。 x = 20 s = "世界您好" def test(x,s): x = 40

23種設計模式17適配器模式

interface 進行 term tle pan keyword ng- 匹配 可能 概述: 將一個類的接口轉換成客戶希望的另外一個接口。Adapter模式使得原本由於接口不兼容而不能一起工作的那些類可以一起工作。 類型:結構型模式。 類圖: 適用性: 1.你想

牛客網線上程式設計17不要二-python

題目描述 二貨小易有一個W*H的網格盒子,網格的行編號為0~H-1,網格的列編號為0~W-1。每個格子至多可以放一塊蛋糕,任意兩塊蛋糕的歐幾里得距離不能等於2。 對於兩個格子座標(x1,y1),(x2,y2)的歐幾里得距離為: ( (x1-x2) * (x1-x2) + (y1-y2) *