Swift,Objective-Cプログラミング ~ iOS ~

Objective-C,Swift,Apple Watchなどのプログラミング

【iOS Swift入門 #269】リファクタリング ~ if文が続くと読みにくい ~

はじめに

最近リファクタリングを勉強している。

リーダブルコード ―より良いコードを書くためのシンプルで実践的なテクニック (Theory in practice)

リーダブルコード ―より良いコードを書くためのシンプルで実践的なテクニック (Theory in practice)

学んだことをメモ。
swift文法でリファクタリングの例を書く。

if文が続くと読みにくい。

// country, prefectureと表示する
// prefectureがnilの場合、cityを表示する
// cityもない場合、townを表示する

let country:String = "日本"
let prefecture:String? = nil
let city:String? = nil
let town:String? = "蒲田"

var local = ""
if let _ = prefecture {
    local = prefecture!
}else if let _ = city{
    local = city!
}else if let _ = town{
    local = town!
}

print("\(country), \(local)")

改善

// country, prefectureと表示する
// prefectureがnilの場合、cityを表示する
// cityもない場合、townを表示する

let country:String = "日本"
let prefecture:String? = nil
let city:String? = nil
let town:String? = "蒲田"

let local = prefecture ?? city ?? town ?? ""
print("\(country), \(local)")

参考情報

Swift

iOSアプリ開発未経験の人向け
iOSアプリ開発をはじめたとき最初に買った書籍 【アプリ作成未経験の人向け】
Storyboardを使って画面を作成していく。
手順にしたがって操作していくと、ボタンの作成やWebViewの作成などができる。
アプリって、こんな感じで作るんだというのを体験できる。

Swiftではじめる iPhoneアプリ開発の教科書 【iOS 8&Xcode 6対応】

Swiftではじめる iPhoneアプリ開発の教科書 【iOS 8&Xcode 6対応】


・わかりやすくていい、と聞いた本
立ち読みした感じだと【アプリ作成未経験の人向け】

絶対に挫折しない iPhoneアプリ開発「超」入門【Swift & iOS8.1以降 完全対応】

絶対に挫折しない iPhoneアプリ開発「超」入門【Swift & iOS8.1以降 完全対応】


②を終えたくらいの知識の方向け
・アプリ開発独学中に2冊めに購入した書籍
プログラミング知識はなくても、若干理解するのに時間がかかる程度で、
読み進められるわかりやすさがある。

iPhoneアプリ開発塾

iPhoneアプリ開発塾


③中級者、上級者向け

詳解 Swift

詳解 Swift

詳解 Swift 改訂版

詳解 Swift 改訂版