本リポジトリは株式会社ゆめみのiOS エンジニアコードチェック課題です。
- IDE:Xcode 12.5
- Swift:Swift 5.4
- 開発ターゲット:iOS 13
- ライブラリー
- R.swift var(5.4.0)
- Alamofire var(4.9.1)
- MarkdownView var(1.8.3)
- 変数名をキャメルケースに修正
- クラス名をわかりやすい名前に修正
- 配列の名前を単数系から複数形に修正
- 空白、インデント、スペース、改行を修正
- 強制アンラップに対してnilが入る場合は「if let」や「guard let」で安全にアンラップ
- グローバル変数にする必要がない場合は極力ローカル変数を使用した
- レイアウトの修正
- パースのエラーにはエラーハンドリングを追加
- API通信時、完了後もメモリーが解放されていなかった為、finishTasksAndInvalidateを使用し解消
- StoryboardをDetailView(リポジトリ詳細画面)とSearchView(リポジトリ検索画面)に分割
- R.Swiftを導入し、タイポミスを減らした
- DataModelをViewと分離させた
- APIの処理を行うクラスを作成
- MVVMを採用
- カスタムセル作成
- 通信中のインジケーターを追加
- READMEを表示(未完成)
- 簡単な単体テスト実装
- URLをエンコード
- Icon画像の非同期ダウンロード
- README表示の不具合(リポジトリによってREADMEのファイル名前が異なる為、うまく表示できていない)
- DetailViewのUIブラッシュアップ
- APIの通信で最初に不必要なデータも取得している為、用途にあったAPIを使用
- LanguageIconのColorを作成(現在はSwift「赤色」とPython「青色」のみ)
- 横画面への対応(現時点は横画面でも回転させない)
- ダークモードに対応(現時点は強制ライトモード)
- 十分な単体試験と結合試験を実施