キャメルケースの表記で、よく揺れるケースとその対策についてまとめてみました。プロジェクト内で表記を統一したい場合などに参考にしてみてください。No.3以降は、単語の区切りについてなので、snake_caseにも当てはまりますよ。 1. XMLParser – XmlParser これはよく揺れますね。XMLのようにそれぞれの頭文字 (Extensible Markup Language) を並べて作られた単語を頭字語と言います。頭字語は、それが頭字語だと言う事をわかりやすくするために、英文のルールではすべてを大文字にします。このルールとキャメルケースの表記法とが衝突しているので、人それぞれで書き方がバラツキます。 Rule ルールを作る場合は、英文ルールに従い頭字語はすべて大文字にするか、キャメルケースに従うか・どちらか一方にしなければならないのですが、単語によってしっくりくる書き方が違っ
モバイルファースト室の三浦です。 みなさんはplayground使っていますか? Swiftにはplaygroundが用意されていて手軽にかつライブレンダリングでコーディングをすることができます。 CoreGraphicsの描画などを確認しながらコードを書くこともできてとても便利です。 早速Swiftで簡単なスケッチをしてみましょう! Xcodeでplaygoundファイルを新規作成します。次にUIKitをimportします。 import UIKit 次に表示のためのUIViewを生成します。 // ビューのサイズ let size = CGSize(width: 200, height: 200) // UIViewを生成 let view:UIView = UIView(frame: CGRect(origin: CGPointZero, size: size)) view.back
一部誤訳の指摘があったため、修正しました!ご迷惑おかけして申し訳ございません! あなたは自分でCSVを書いてみたいですか? フィールドはコンマで区切り、行は改行で分けます。簡単ですよね。数行書けば勝手が分かるというものです。 でも、ちょっと待ってください。 フィールド内にコンマがある場合は? ダブルクォート(”)で、該当のフィールドを囲みましょう。簡単ですね。 では、ダブルクォートで囲めるフィールドに例外はあるのでしょうか? フィールド内にダブルクォートがある場合は? フィールド内の各ダブルクォートに対して、ダブルクォートを二重化して適用しましょう。そうすれば元のダブルクォートをエスケープすることができます。 なお、二重化したダブルクォートと空フィールドを囲んでいるダブルクォート( ...,"",... )を勘違いしないように気を付けてください。 フィールド内に改行がある場合は? その場合
数ヶ月前、私はJames O Coplienの ほとんどのユニットテストが役に立たない理由 という記事に出会いました。Jamesはほとんどのユニットテストは無意味であると考えていて、タイトルは内容をそのまま正確に表しています。彼は 追加記事 で議論をさらに展開しています。私は彼の議論に大変興味をそそられました。というのは、私はユニットテストから多くの利益を得ているからです。私たちはどうしてこのような異なる見解を持つに至ったのでしょうか? 私が何かを見逃したのでしょうか? 結局のところ私は彼の見解に賛成できませんでした。以下は彼の記事に対する私の意見です。 ユニットテストが必要な場合 私の経験では、ユニットテストはアルゴリズムロジックに対して行う時に最も有益です。結合度の高いコードについてはその性質から特に有益ではありません。結合度が高いコードはユニットテストのために多くのモックオブジェクト
Yari D'areglia CEO at Nexent.io by day, indie game developer by night. I also run the blog indiegames.wtf. Follow @bitwaker Around two years ago I wrote a tutorial to show how to build custom controls in iOS. That tutorial was really appreciated by the dev community, so I’ve decided to update it to Swift and to add the designable/inspectable properties support to design the control directly throug
@@ -0,0 +1,37 @@ +http://martinfowler.com/bliki/SacrificialArchitecture.html + + +会議の席であなたは考えている。自分のチームが二年間かけて書いてきたコードのことを。そして決断に至る。いま打てる最善の手は、あのコードをすべて投げ捨てまったく新しいアーキテクチャを再構築することだ。死にゆくコード、それに費やした時間、自分が下し続けてきた判断。この決断は、あなたはどんな気持ちにするだろう? + +多くの人にとって、コードを捨てるのは失敗の証だ。ソフトウェア開発の探索的な性質を考えれば、わからない判断ではないかもしれない。けれど失敗には違いない。 + +ところが、いま書ける最良のコードは二年経ったら捨てるつもりのコードだということはよくある。 + +私たちは長命なソフトウェアとして偉大なコードを思
Swift においてタプルはパターンマッチが手厚くサポートされているなど、Optional 同様に特別な扱いを受けています。 関数とタプルについて調べてみましたが、いまいち結論が曖昧な部分が多かったです。 しかし、関数とタプルがどういう関係であるのか見えてくる部分もありましたので、記事として残しておきます。 戻り値 戻り値と空タプル Swift では、戻り値を返さない関数の型は T -> Void 型で表現されます。 func test(str: String) { println(str) } let f: String -> Void = test ここで出てくる Void 型は () 型の型エイリアスで、Swift のモジュール内で定義されています。 typealias Void = () () 型というのは空のタプルを表す型です。 つまり、戻り値を返さないと定義された関数も、実際に
この記事は CyberAgent エンジニア Advent Calendar 2014 9日目の投稿です。 昨日は@stormcat24 さんの開発効率化への道は一日にしてならず - tehepero note(・ω<) でした。 自分は4ヶ月ほど前にサーバサイドJavaからiOSに転向し、弊社の中で最も息の長い(?)iOSアプリの開発チームにジョインしました。利用者数も多く事業インパクトの大きいアプリですが、ちょっと前からSwift移行を着々と進めています。 Swiftが登場して6ヶ月、ネット上に良い情報が沢山転がっていて目新しい事は書けないんですが、ここでは既存のコードベースをリプレースしながら感じたSwiftの良い所でもまとめてみようと思います。 実際に現場で活きている機能 まだ書きはじめて1ヶ月ほどなので、膨大なSwiftの新機能のうち一部しか触れてはいないですが、はやくもコード
cdの引数が相対パスのままコマンドヒストリに残って便利な例が思いつかないので、絶対パスでコマンドヒストリに残すようにする。 具体的には、以下のシェル関数を.bashrcに書く。 if [[ -n "$PS1" ]]; then cd() { command cd "$@" local s=$? if [[ ($s -eq 0) && (${#FUNCNAME[*]} -eq 1) ]]; then history -s cd $(printf "%q" "$PWD") fi return $s } fi いくつかの重要なポイントを以下に記す。 cdの定義を上書きしているが、このような場合中で普通にcdを呼ぶと再帰してしまうためcommand組み込みコマンドを使う。 "$@"の代わりに"$1"を使うことはできない。cdを引数なしで呼んだときホームディレクトリに移動しなくなってしまう。 cdの
これはiOS Advent Calendar 2014の12日目の記事です。 年の瀬もだんだん押しせまってきました。 年末年始のお休みの後に、「あれ、このメソッドどんな目的で作ったんだっけ?こっちのメソッドとの関係はどうだったんだっけ……」など無駄に悩まないために、このあたりでソースコードのコメントを見直してみましょう。 Xcodeでのコメント そもそもソースコードにコメントを書いた方がいいかどうかは長い議論がありまして……。 コメントによりコードの理解は深まるので、あったほうがいいという意見もありますが、コメントを書いたあとにコードを変更してしまうと、コメントとコードの内容が違ってしまい、かえってバグを生んでしまうためコメントを強制するのは害悪だ、という考え方もあります。 また、適切な命名規則を守ればソースコードを読むだけで理解できるという考え方もあります。 実際には、プロジェクトのライ
Nov 20, 2014 iOS, OSXで利用できるライブラリ管理ツールといえばCocoaPodsが有名ですが、 それとはまた違った方針のCarthageというライブラリ管理ツールがリリースされました。 GitHubのデベロッパーを中心としたチームで開発が進められているようです。 https://github.com/Carthage/Carthage インストール方法 Releasesからpkgをダウンロードして、インストーラーを実行します。 使い方 Cartfileを書く carthage updateを実行する Carthage.buildに作成された.frameworkをXcodeに追加する Cartfileではgithub, gitの2種類のキーワードが利用でき、以下のように書きます。 サポート対象 Carthageはdynamic frameworkのみをサポートするため、C
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く