Skip to content

mka1233/yumemi-ios-engineer-codecheck

Repository files navigation

株式会社ゆめみ iOS エンジニアコードチェック課題

概要

本プロジェクトは株式会社ゆめみが、iOS エンジニアを希望する方に出す課題のベースプロジェクトです。

アプリ仕様

本アプリは GitHub のリポジトリーを検索するアプリです。

動作イメージ

環境

  • OS:macOS Monterey version 12.4
  • IDE:Xcode Version 13.4.1
  • Swift:Version 5.6.0
  • 開発ターゲット:iOS 16.0.2

動作

  1. 何かしらのキーワードを入力
  2. GitHub API(search/repositories)でリポジトリーを検索し、結果一覧を概要(リポジトリ名)で表示
  3. 特定の結果を選択したら、該当リポジトリの詳細(リポジトリ名、オーナーアイコン、プロジェクト言語、Star 数、Watcher 数、Fork 数、Issue 数)を表示

取り組んだ課題

ソースコードの可読性の向上

  • 命名規約(参考:Swift API Design Guidelines
  • ネスト
  • インデント
  • コメントの適切性
  • スペースや改行
  • その他

ソースコードの安全性の向上

  • 強制アンラップ
    • guard letで安全にアンラップ
  • 強制ダウンキャスト
    • as!をas?に変更
  • 不必要なIUO
    • IUOの修正
  • 想定外の nil の握り潰し
    • エラー処理の追加

バグを修正

  • レイアウトエラー
    • AutoLayoutで制約を追加
  • メモリリーク
    • 弱参照にして循環参照を回避
  • パースエラー
    • スペルミスの修正とCodableへの変更

今後の課題

  • PR・ブランチ等のGitの操作
  • if let, guard letの曖昧な理解
  • メモリリークの曖昧な理解
  • アーキテクチャ
  • テスト

ここの場合はこうするのような条件反射で書いてしまっている部分があり、曖昧な理解のまま進めてしまっていると感じたため、なぜこの書き方をしているのかをしっかり理解する必要がある。この頃何から学習すべきか悩んでいたため、今後学ぶべき多くの課題を発見できて良かった。

About

株式会社ゆめみコードチェック課題

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages