トップページ⇒tech
1002コメント383KB

Swift part9 [無断転載禁止]©5ch.io

■ このスレッドは過去ログ倉庫に格納されています
0001デフォルトの名無しさん 転載ダメ©2ch.net (ワッチョイ 8b3c-/6Y/)2016/10/18(火) 11:34:44.16ID:oLo879ze0
WWDC2014で発表されたAppleの新言語Swiftについて語りましょう

関連スレ

プログラミング言語Swift 3
http://potato.2ch.net/test/read.cgi/mac/1408762479/

[SDK]iPhoneアプリ開発初心者質問箱47[touch][iPad]
http://potato.2ch.net/test/read.cgi/mac/1470902093/

Xcode part14
http://potato.2ch.net/test/read.cgi/mac/1476190499/

Swiftアンチスレ part1
http://echo.2ch.net/test/read.cgi/tech/1458491343/

前スレ
Swift part8
http://echo.2ch.net/test/read.cgi/tech/1463149806/
VIPQ2_EXTDAT: default:vvvvv:1000:512:----: EXT was configured
0002終了 (ワッチョイ 67c9-3ZZL)2016/10/18(火) 16:31:42.47ID:q3gbqcrC0
糞スレストッパー
0003デフォルトの名無しさん (ワッチョイ 57c9-x3Zw)2016/10/18(火) 16:36:48.89ID:5S2LdbWL0
下痢にはストッパ
0004デフォルトの名無しさん (スップ Sdcf-Oa01)2016/10/18(火) 19:24:46.57ID:nd0z2LLHd
>>1
おつんちん
0005デフォルトの名無しさん (ワッチョイ 213c-A7+C)2016/10/21(金) 11:44:19.03ID:09Dpangg0
XCTestで滅多に使わない表記だからといって

open func keyValueObservingExpectation(for objectToObserve: Any, keyPath: String, handler: XCTest.XCKeyValueObservingExpectationHandler? = nil) -> XCTestExpectation
↑の、handlerを略した書き方すると

open func keyValueObservingExpectation(for objectToObserve: Any, keyPath: String, expectedValue: Any?) -> XCTestExpectation
と区別つかねぇとかエラー吐かないでくださいよ
0006デフォルトの名無しさん (ワッチョイ 17e6-DrBp)2016/10/23(日) 09:48:39.00ID:M03zTDWo0
Javaの商用アプリケーションサーバでトップシェアのIBM
Linuxが商用利用で成功したのも2003年頃にIBMがLinux注力したから

AppleとIBMが協力関係になってSwift推し
Swiftの未来はどうなるんだろうな
0007デフォルトの名無しさん (スプッッ Sd39-YT5Q)2016/10/23(日) 11:09:52.31ID:l/iDXb3dd
大成功待った無し
0008デフォルトの名無しさん (ワッチョイ fd62-A7+C)2016/10/23(日) 14:59:20.34ID:254NT19n0
政治的にゴリ押されて出来上がった言語ってSwift以外だと例えば何があるっけ?
0009デフォルトの名無しさん (ワッチョイ e0c9-A7+C)2016/10/23(日) 15:11:37.30ID:imvMl3ez0
流行った言語は全部ゴリ押しみたいなもんだろ
0010デフォルトの名無しさん (ササクッテロ Sp89-YT5Q)2016/10/23(日) 15:51:47.79ID:kiR0Dkrqp
type scriptやdartとか

objcもApple OSでは、これを使わないと何も出来ない的な意味でゴッリゴリ
とか言うと発狂する子が沢山来そう
0011デフォルトの名無しさん (スッップ Sdb8-YT5Q)2016/10/23(日) 16:07:03.29ID:3d+f6jv2d
>>10
Objective-CはAppleが採用するずっとずっと前からあったけど…。
0012デフォルトの名無しさん (JP 0He5-GPOt)2016/10/23(日) 16:07:53.11ID:CGzeXgZhH
NeXTより前からあるね
0013デフォルトの名無しさん (ササクッテロ Sp89-YT5Q)2016/10/23(日) 16:26:10.41ID:kiR0Dkrqp
発狂早かったな
2.0だの言わないといけないのかな

今のモダンObjCと最初期PbjCは別モノだろう
Swift betaとSwift3くらいに言語仕様も実装手法も違う
0014デフォルトの名無しさん (JP 0He5-GPOt)2016/10/23(日) 16:39:25.15ID:CGzeXgZhH
後出しの割にはイケてない
0015デフォルトの名無しさん (ワッチョイ e0c9-A7+C)2016/10/23(日) 16:56:22.96ID:imvMl3ez0
GCとか迷走もあったしなぁ
0016デフォルトの名無しさん (スッップ Sdb8-YT5Q)2016/10/23(日) 16:59:07.26ID:PL/5Is43d
最初に発狂とか必死とか言い出したやつが発狂じみて必死になってくる法則
0017デフォルトの名無しさん (ワッチョイ 4066-vevC)2016/10/23(日) 17:34:51.29ID:pqyteWXL0
C++じゃなくてObjective-Cの方が普及してたらだいぶ違ったろうになぁ
0018デフォルトの名無しさん (ワッチョイ fa13-GPOt)2016/10/24(月) 10:43:06.10ID:9xygNeDa0
なぜC++の方が普及したのですか?
0019デフォルトの名無しさん (ササクッテロ Sp89-YT5Q)2016/10/24(月) 11:24:05.58ID:zqG7Aoccp
取り合えず、メッセージ式文法が好まれなかった
他言語も追従しないし、当のアポーもメンバ変数に対してはメッセージ式を殺しにかかってるし

じゃあ、Swiftが流行るのかというと別だけど
0020デフォルトの名無しさん (ワッチョイ fa13-GPOt)2016/10/24(月) 11:43:48.71ID:9xygNeDa0
メッセージ式ってメソッド名が動的文字列のものも書けたっけ
0021デフォルトの名無しさん (ササクッテロ Sp89-YT5Q)2016/10/24(月) 12:08:54.10ID:zqG7Aoccp
ObjCスレへどうぞ
0022デフォルトの名無しさん (スプッッ Sdc8-YT5Q)2016/10/24(月) 12:27:56.48ID:UH3y4ryLd
カッコが連続するとただただ見辛い
0023デフォルトの名無しさん (スフッ Sdb8-vevC)2016/10/24(月) 13:01:34.11ID:IFhOb1KRd
>>18
悪貨は良貨を駆逐する
0024デフォルトの名無しさん (ササクッテロ Sp89-YT5Q)2016/10/24(月) 13:20:21.03ID:fQljBZVUp
SwiftがObjective-Cに駆逐されようとしている
Swiftは良貨だった、、、?
0025デフォルトの名無しさん (JP 0Hc8-AIfR)2016/10/24(月) 16:46:18.16ID:YkwUZi7rH
ジョブズって、プログラムわからないだろ?
なんで、Swift良い言語って言ってるの?
0026デフォルトの名無しさん (ワッチョイ 213c-vtRd)2016/10/24(月) 17:06:50.03ID:i06wcCBv0
霊界通信が実装されたと聞いて
0027デフォルトの名無しさん (ワッチョイ 9dc9-GPOt)2016/10/24(月) 19:47:10.53ID:yvoyC+Qj0
ack無しの無手順ぷろとこー
0028デフォルトの名無しさん (スッップ Sdb8-YT5Q)2016/10/24(月) 21:42:17.30ID:PZcG170Zd
>>25
ジョブズはたぶんSwiftを知らない
0029デフォルトの名無しさん (ワッチョイ fd62-A7+C)2016/10/25(火) 07:23:49.15ID:TTNTJAzx0
>>24
SwiftとObjC逆じゃね?
0030デフォルトの名無しさん (ササクッテロ Sp89-YT5Q)2016/10/25(火) 09:21:08.38ID:ZmUS+kLtp
>>25はSwiftとObjCを間違えてね?
ジョブズ存命時の言語だよな、ObjCって
0031デフォルトの名無しさん (ワッチョイ e0c9-A7+C)2016/10/25(火) 10:12:28.38ID:HyB8mBs70
ジョブズの霊がラットナーに憑依して作ったのがSwift
0032デフォルトの名無しさん (ササクッテロ Sp89-YT5Q)2016/10/25(火) 10:39:33.81ID:ZmUS+kLtp
ジョブズが心霊療法?にはまってた頃に作り始められた言語だし可能性はあるか
生きてる時は幽体離脱で、死後は霊になってSwiftを推すとは流石ジョブズ
しかし、信者が乗らず悪貨のObjCが当然優勢ときたもんだ、くやしいのうwww

ところで、誰かSwift Package Managerって誰か使ってる?
3 stable releaseでもまだ開発中っぽかったが 、どれくらい不便か知りたい
0033デフォルトの名無しさん (ササクッテロ Sp89-vevC)2016/10/25(火) 18:39:13.09ID:v9gzKB+7p
>>31
ラトナーはジョブズから作られた天然のAIだよ
0034デフォルトの名無しさん (ワッチョイ 213c-A7+C)2016/10/26(水) 00:56:29.52ID:5b/0SgTG0
関数ラベルとかに予約語を使うのを禁止すべきかどうかについてどう思う?
他の言語との一貫性を考えると禁止した方がいいと思うんだけど
うちの会社ではコーディング規約で禁止してるけど
若手エンジニアが結構反発してるんだよね
0035デフォルトの名無しさん (ワッチョイ fd62-YT5Q)2016/10/26(水) 02:40:12.32ID:NtHQYyX30
関数ラベルとの相性が絶望的にクソなシンタックスをまずどうにかしろ
話はそれからだ
0036デフォルトの名無しさん (ササクッテロ Sp89-YT5Q)2016/10/26(水) 05:29:30.35ID:BNroq1d2p
わざわざ可能なように頑張って作った(直した)んだから素直に使えば?
3だかで予約後と被るキーワードも''で括らないで良いみたいな修正入った気がする

キーワードの順不同廃止みたいに廃止プロポーサルは出てないよな
0037デフォルトの名無しさん (スッップ Sdb8-YT5Q)2016/10/26(水) 08:57:46.67ID:LVTypZImd
>>34
「関数ラベルとか」の「とか」は、「関数ラベル」以外の何?
0038デフォルトの名無しさん (ワッチョイ 213c-vtRd)2016/10/26(水) 09:02:55.24ID:EtQ2cepM0
反発理由が知りたいな
禁止でええやろって思うから
0039デフォルトの名無しさん (ササクッテロ Sp89-YT5Q)2016/10/26(水) 09:19:43.05ID:BNroq1d2p
問題出ないし、分かりやすければ予約語と被って問題なくね?
予約語と被って困ってたのは元はコンパイラの実装上の面倒だろう
その古い文化に慣れて、新しい文化に馴染めないのも分からいでもないが、そりゃ老がいだ

あ、他言語との歩調合わせはどうでもいい
Javaの文法でObjC書いたり 、ObjCの文法でJava書くクソッタレ信者は死ねと思ってる
他に禁止したい理由はある?
0040デフォルトの名無しさん (ワッチョイ 213c-vtRd)2016/10/26(水) 09:42:23.99ID:EtQ2cepM0
多言語間の移植ちょいちょいやるから識別子にキーワードめいたものは使ってない
例えばJavaで変数名や引数名にref, params, inも使わない
一方禁止して困る理由は特に無いってだけ

禁止するにせよ、しないにせよ重大な理由は無いだろう
多少の面倒のトレードオフでどっちか選ぶだけ

他のプロジェクト入る場合はそれに合わせるから
わざわざ反発する程の何かがあるん?という疑問
0041デフォルトの名無しさん (ササクッテロ Sp89-bS7b)2016/10/26(水) 16:25:11.94ID:NhxkI5gep
// ハゲのためにワックス買ってくる関数があるとする
// 少し前のSwift
func buyWax(const: Int, forHage hage: String) {
}
buyWax(const:3_000, forHage:
0042デフォルトの名無しさん (スプッッ Sdc8-CGyA)2016/10/26(水) 16:26:08.97ID:4gTCvaIpd
>>40
なら、他言語の予約語を、変数名とかに使うのも禁止してるの?
使用禁止語リストを保守するのも、理由付けするのも大変そうだけどね
0043デフォルトの名無しさん (ササクッテロ Sp89-bS7b)2016/10/26(水) 16:28:33.43ID:NhxkI5gep
コードが途中で切れたので再送

ハゲのためにワックス買ってくる関数のサンプルコード
ttp://swiftlang.ng.bluemix.net/#/repl/58105ac610d66e1185d3d203

リファレンス
ttps://swift.org/documentation/api-design-guidelines/#argument-labels

問題も面倒もない出来ることをせず、無駄に冗長なラベル名や分かりづらいラベル名は老害
まぁ若造が鬼の首を取った気分で反発してるんだろうから
この程度のコーディングルールは事なかれ主義で黙って従うのが社会人なんだよ!って黙らせればいい
0044デフォルトの名無しさん (ワッチョイ 213c-vtRd)2016/10/26(水) 17:31:30.47ID:EtQ2cepM0
>>42
うちは別に禁止してないぞ
移植時の面倒事回避の1つとして控えた方がいいと教えてるだけ

使う言語は限られていてそれらを知ってるのが前提だから
リストなんてものもない(面倒だし)

影響が大きくない部分は下が守ってなくても許容するし自分が入る場合は従っておく

現場でキャパ少ない奴は上で下でも地雷だわ
ブログやら掲示板では猛獣のごときスタイル論争でも好きにやればいいが
0045デフォルトの名無しさん (スフッ Sdb8-vevC)2016/10/26(水) 18:33:44.20ID:n1sZka3Md
>>44
おれ、記憶力悪い方なんでコンパイラに怒られるまで予約語かどうかなんてわかんないや

なので、作業中の言語は対応できるけど
他の言語の予約語までは対応できない

コミット時にNGワードチェッカー走らせて拒絶するようにしておいてね
0046デフォルトの名無しさん (ワッチョイ 172b-bS7b)2016/10/26(水) 19:39:20.63ID:dE6dARfA0
少数言語で移植性()を保つキャパより、多数言語を言語毎の文化/文法に合わせて書けるキャパを持ちたい
JavaもObjCもSwiftもKotlinもC/C++もJavaScriptもPythonもGoもRustも みんなちがって、みんないい
0047デフォルトの名無しさん (ワッチョイ 638f-Jz20)2016/10/27(木) 00:11:07.98ID:e6l93V+P0
>>46
でもちょっとでも優れた機能があると、それを自分がメーンで使っている言語に取り込みたくなる。そしてコモディ化が始まる。
0048デフォルトの名無しさん (ワッチョイ e3c9-3xFl)2016/10/27(木) 01:59:35.26ID:X0THyINs0
>スタイル論争
にしても
2ちゃんの書き込みにしても
ひまなひとがやること
能力があるひとは忙しいから
そんなことにかまってる無駄な時間は使わない
0049デフォルトの名無しさん (ササクッテロ Sp7f-ceYG)2016/10/27(木) 07:41:18.42ID:CQANQwZhp
>>47
ねーよwww
そんなことをするのは、他言語をちょっとかじって多数言語が扱えると思っちゃってるニワカか
メイン言語を至上と信じそれ在りきでその言語を如何によく使うかを考えてる信者だ
0050デフォルトの名無しさん (ワッチョイ 6362-ijxz)2016/10/27(木) 07:52:38.72ID:g7DaVEt90
ラベルに予約語が使えるようになった!とかObjCだとそれ普通だしって内容なんだが...
0051デフォルトの名無しさん (ワッチョイ 6362-ijxz)2016/10/27(木) 07:54:31.29ID:g7DaVEt90
つーかObjCはセレクタ名の一部だからラベルじゃないか
0052デフォルトの名無しさん (ワッチョイ 133c-xElR)2016/10/27(木) 08:55:38.81ID:4jy4piHn0
>>45
>チェッカー走らせて拒絶するように
反射レスせずちゃんと読もうな
0053デフォルトの名無しさん (スフッ Sdff-O9pn)2016/10/27(木) 10:34:44.50ID:JkrFOFZTd
>>52
あ、すまん
意味のないこと「教えて」偉そぶるんじゃない、ボケ

って、事を柔らかく言いたかっただけ


ルール化すべきことはきちんとルールを作って強制すべき
可能なら自動化もする

強制しないならそれは教える価値のないものだし
わざわざ教育すべきではない
単なる雑談、それも老人の昔話レベルだよ


バックグラウンドが違えばみんなの「普通」は違うんだから、思い込みで中途半端な「教育」されると
チーム運営上混乱を招くぞ


carとかautoとかいちいち「あれ?あの言語で予約語だったっけ?」とか考えさせるな、思考が中断されてプログラマの時間が勿体無い

他の言語に移植する時困ったらsed一発で修正できることだろ

それ以前に言語が変わればプログラムの構造自体が変わるんだから
予約語の被りを避けたところでほとんど意味がない
0054デフォルトの名無しさん (ササクッテロ Sp7f-Jz20)2016/10/27(木) 11:59:03.60ID:CQANQwZhp
暗黙の了解ってのもあるが>>34は根拠がバッドノウハウなんだよなぁ

ObjC, SwiftのIF共有のために、ObjCは 前置詞+名詞 のラベルが風習として良いから
Swiftも 前置詞(予約語) だけのラベルは適切でないってならそりゃそうだと同意するんだが
0055デフォルトの名無しさん (スプッッ Sdff-O9pn)2016/10/27(木) 18:00:16.74ID:8ioUQXgpd
ところで久しぶりに触って見たら
IBM Swift Sandboxが少し使いやすくなっていた

電車の中とかで暇つぶしにちょうどいい

スマホでSwiftやってたら隣の人に変な目で見られたけど
0056デフォルトの名無しさん (ワッチョイ 133c-0DI1)2016/10/27(木) 20:31:53.66ID:Ps2jyA+B0
Cocoa の世界だとこうなる

// Obj-C
- (void) buyWaxWithCost:(int)cost
           forHage:(NSString *) hage;

// Swift2.X
func buyWax(cost: Int, forHage hage: String)

// Swift3.X (for に省略されるのは、String が Hage の場合のみ)
func buyWax(_ cost: Int, forHage hage: String)
0057デフォルトの名無しさん (ワッチョイ e3c9-3xFl)2016/10/27(木) 20:58:34.09ID:X0THyINs0
文法なんてタダの飾りですし
0058デフォルトの名無しさん (ワッチョイ 133c-ijxz)2016/10/27(木) 23:11:21.08ID:x9Z62p+J0
>>53
>それ以前に言語が変わればプログラムの構造自体が変わるんだから
>予約語の被りを避けたところでほとんど意味がない

いや、それは違う。
プログラム構造を変えずに移植することは可能だし、
業務プログラミングでは当然だよ。
実際、COBOLプログラムをJavaで書き直すときは
COBOLの構造でみんな書いてるよ。
チューリング完全ならロジックレベルでは互換性があるんだから、
プログラム構造を変えずに移植することは可能なはず。
0059デフォルトの名無しさん (ワッチョイ 133c-WNS8)2016/10/27(木) 23:48:40.67ID:4jy4piHn0
>>53
ご高説ありがたいが
職場のバックグラウンドが違うのでね
0060デフォルトの名無しさん (ワッチョイ 6362-Jz20)2016/10/28(金) 00:39:44.63ID:adI6CPkE0
>>57
飾りといってみたり可読性が高いと称賛してみたり
Swifterのスタンスはめちゃくちゃやな
0061デフォルトの名無しさん (スップ Sdff-Jz20)2016/10/28(金) 01:22:03.46ID:8E81+S0Cd
>>20
そのためのセレクタだよ
0062デフォルトの名無しさん (ササクッテロ Sp7f-Jz20)2016/10/28(金) 10:50:21.84ID:Z2zfTStfp
>>56
swift3ではforHageはforにするんじゃないの?
従来ルールから逆らうけども、何度もhage hage言うのはバカっぽいから

>>60
objcerは何しに来てるの?アンチスレの存在知らない?
0063デフォルトの名無しさん (オッペケ Sr7f-P+QJ)2016/10/28(金) 11:16:08.58ID:v43qydeMr
>>8
java, php
0064デフォルトの名無しさん (スップ Sdff-Jz20)2016/10/28(金) 11:25:55.99ID:UKDThdJFd
           |
            |  彡⌒ミ
           \ (´・ω・`)また髪の話してる
             (|   |)::::
              (γ /:::::::
               し \:::
                  \
0065デフォルトの名無しさん (スプッッ Sdff-O9pn)2016/10/28(金) 12:43:27.25ID:IYKxBeNKd
>>58
>チューリング完全ならロジックレベルでは互換性があるんだから、
>プログラム構造を変えずに移植することは可能なはず。

なんだ、設計屋か、


たとえばcでメモリ上にファイルから読み込んだバイナリデータをmcpy()で展開しておいて
構造体の配列としてアクセスできるようにキャスティングして
データ解析いっちょあがり
とか
これをJavaで実装し直すとバイト単位で解析しなきゃならないし

オーバーロードとか型ジェネリックを多用したプログラムを
どちらにも対応していない言語にそのまま移植したらswitch文だらけでエライコッチャになるとか

macOS上で組んだプログラムをwinに持って行こうとしたらノーティフィケーションの仕組みが無くて、メッセージングを自作しなきゃならなくなったとか

そう言うのを「プログラム構造を変えずに移植できる」と言うのであれば
確かにできるよ


で、こう言う労力に比べて他の言語の予約語を避けると言うコーディングルルールはあまりにも意味がなさすぎると思わない?

必要ならコーディングルルールに「〇〇への移植性を考慮すること」って最初から入れとかなきゃ
予約語だけの問題じゃない
0066デフォルトの名無しさん (ブーイモ MMff-yDtl)2016/10/28(金) 19:17:32.49ID:noGENyqJM
移植性を考えるなら名前付き引数の使えない言語になる可能性もあるからそもそもラベルを使うべきじゃないな。全部_にした方がいいw
0067デフォルトの名無しさん (ササクッテロ Sp7f-Jz20)2016/10/28(金) 19:51:22.41ID:gCFwn2zqp
>>66
名案だと思ったw > 全部_
0068デフォルトの名無しさん (ワッチョイ 6362-ijxz)2016/10/29(土) 09:05:38.96ID:U/oHXeL/0
なるほどここはSwiftの話題全般について語るスレじゃなくて
Swiftのポジティブな話題限定のスレだったのか
0069デフォルトの名無しさん (ワッチョイ d7ba-Jz20)2016/10/29(土) 09:08:25.76ID:wiQwEsKb0
いーやネガキャンスレ
0070デフォルトの名無しさん (ササクッテロリ Sp7f-Jz20)2016/10/29(土) 09:22:50.57ID:HRK0HvHWp
自虐スレだよ
swifterは...とか言っちゃう外様はお帰り
0071デフォルトの名無しさん (ワッチョイ e34e-ijxz)2016/10/29(土) 09:25:53.53ID:7g9yHYdX0
Swiftersって言いかた、ドリフターズみたいで素敵
0072デフォルトの名無しさん (ワッチョイ 6362-ijxz)2016/10/29(土) 09:51:11.83ID:U/oHXeL/0
反応の早さにワロリン
Swiftersにすると確かに響きがいいな
0073デフォルトの名無しさん (ササクッテロリ Sp7f-Jz20)2016/10/29(土) 11:31:24.15ID:HRK0HvHWp
お前もswiftersに入ってアポーの体を張ったギャグで笑おうぜ
クッソ笑えること確実、betaから笑い続けてても未だ笑える
今回のABI安定化見送りとかバカジャネーノと思うし

だからObjCのが優れてるし!ってネガキャンしなくても良いんだよ
0074デフォルトの名無しさん (ワッチョイ 039a-9fiG)2016/10/30(日) 00:08:47.81ID:/VdtApTb0
extensionは可読性をあげるのに大いに役に立つが、ビルド時間を伸ばす大きな要因となるトレードオフだと知った。
日本語のコミュニティだとあまり議論されてない。
0075デフォルトの名無しさん (ワッチョイ 6fc9-ceYG)2016/10/30(日) 07:53:17.05ID:j7jj+A2N0
煽りとかじゃなく、海外ならどこで議論されてる?
Swiftだけなのか、ObjCも同じく起こるのか、既存/自前のクラスのどちらでも発生しうるのか、仔細を知りたい

単純にお前の感覚なら、まぁそれはそれでいいけど
0076デフォルトの名無しさん (ワッチョイ 0f93-O9pn)2016/10/30(日) 09:58:33.41ID:ZJuXfoFw0
XCodeって予測コンパイル出来るんじゃなったっけ?
使い方知らないんだけど

いずれにしろコンパイルに時間がかかると言うのは
コンパイラ屋とかハードウェア屋が頑張る所であって

プログラミング言語としては生産性・保守性(含可読性)にこだわって欲しいな


「コンピュータ周辺機器の中で最も遅いのは人間の頭である。」って誰の言葉だっけ
0077デフォルトの名無しさん (ワッチョイ 039a-ijxz)2016/10/31(月) 01:46:30.11ID:m1eOJOQ80
>>75

Swiftだけだよ
議論されてるのは例えばここのコメント欄とか。
https://www.natashatherobot.com/using-swift-extensions/

あと、このスライドの23枚目では、extensionを減らすことがビルド時間短縮において大半を占めてることがわかる。
http://www.slideshare.net/AvitoTech/objectivec-swift-avito

extensionのによる可読性を諦めてビルド時間を優先してなるべくextensionを使わないようにするのは周りの優秀なiOSエンジニアはちらほらやってるやつがいる。
本格的なiOSプロジェクトではソースコードが肥大化し、ビルド時間を短縮することはかなり重要になってくるからな。

もちろん無駄なextensionを減らすだけであって、String+◯◯のような必要なextensionは使ったりする。
0078デフォルトの名無しさん (ワッチョイ 039a-ijxz)2016/10/31(月) 01:47:57.67ID:m1eOJOQ80
>>75
あと、それ書き込むくらいなら「swift extension build time」でググれば速攻でてくるから。。エンジニアの基本でしょ。。w
0079デフォルトの名無しさん (ワッチョイ 039a-ijxz)2016/10/31(月) 01:53:06.54ID:m1eOJOQ80
>>76
そうしたいところなんだが・・・・・
Swiftyな書き方ばかりしてると異常にビルド時間伸びたりしちゃうもんなんだよね・・。
趣味の小さいプロジェクトならいいけど、
本格的なiOSプロジェクトって基本的にかなりの大きさになるもんだから、
最新で最強に特盛りなMacbook Proつかってもクリーンビルド10分とかかかって生産性クソ下がるもんだよ。ほんと、仕事にならないっていうレベルで。
結果、iMacかMac Proを会社に買ってもらうしかなくなったりするんだけど、その交渉がまた楽ではないんだよな。。

だから、まじで突き詰めてくとSwiftyに自由に書いてるだけじゃなく、ビルド時間も考慮した書き方もしていく必要があるよ。
0080デフォルトの名無しさん (ワッチョイ 6362-Jz20)2016/10/31(月) 02:23:37.24ID:y/KHbdbU0
だめだこいつどうにかしないと…
0081デフォルトの名無しさん (ワッチョイ e3c9-3xFl)2016/10/31(月) 04:34:12.26ID:jkUzecbb0
>>79
コメント無駄なので書きませんとか
hoge = fuga; .... // こことか
hage = shine; ... // こことか
abe = mao; ..... // こことか
そろえる時間とか無駄だよな
0082デフォルトの名無しさん (ササクッテロリ Sp7f-Jz20)2016/10/31(月) 08:31:13.97ID:Yjtyu49Gp
業務でswift採用を検討とかバカなのか
そんなのswift1.xの時からずっと言われてたろ
0083デフォルトの名無しさん (ワッチョイ 133c-ijxz)2016/10/31(月) 09:32:16.39ID:NdNVw3ey0
>>79
フレームワークである程度分割すればいいんじゃねーの?
0084デフォルトの名無しさん (スプッッ Sdff-O9pn)2016/10/31(月) 09:59:50.69ID:paNpTD9Xd
>>79
状況はわかるし、気持ちもわかる
でもやってる事はどちらかと言うと悪手のように思うよ

フルビルドに10分とか、ちょっと大きいプロジェクトだとcでも普通だよ。
でもフルビルドなんて1日に一回もやらないでしょ?
やる必要のあるときにはお昼とかお茶にしちゃう

もし、煩雑にフルビルドが必要ならコンパイル単位の切り分けが不適切
プロジェクトリーダーと相談して分割しなおそう



>結果、iMacかMac Proを会社に買ってもらうしかなくなったりするんだけど、その交渉がまた楽ではないんだよな。。

これは大変だけど効果的で本質的
高い給料払ってるプログラマがコンパイル時間短縮のために、
あえて苦労して品質の低いコードを書いてるとかもったいなすぎる
その結果出来上がるのがメンテナンス性の悪いソースだし

大変だけどトータルで見ると頑張って高速のマシンを買ってもらう価値あり
レンタルもありだよ
「武器は良いものを下さい」と言って上司を口説いてる「竹槍と根性だけでは勝てません」て
その代わり上司がそのまた上司に説明できるように生産性何パーセントアップとか数字の入った資料は用意している
0085デフォルトの名無しさん (アウアウカー Sa7f-Jz20)2016/10/31(月) 10:12:37.14ID:MowifMDBa
ビルド10分が生産性のボトルネックになってるってw
0086デフォルトの名無しさん (スップ Sdff-Jz20)2016/10/31(月) 12:03:52.55ID:sVVQsMs5d
>>81
「そろえる時間とか」の「とか」は、「そろえる時間」以外の何?
0087デフォルトの名無しさん (ワッチョイ 133c-xElR)2016/10/31(月) 14:17:53.86ID:VXqz7JcR0
http://echo.2ch.net/test/read.cgi/tech/1463149806/557-559n
0088デフォルトの名無しさん (ワッチョイ 638f-Jz20)2016/10/31(月) 23:28:17.38ID:zObjWshz0
プログラマーはフレームワークのバグを疑い、コンパイラを疑い、
ハードを疑い、最後の最後に結局自分が悪かったと気づく。

結局大概の問題は自分起因だと気づくんだよ。
もっと自分を疑え。
0089デフォルトの名無しさん (ワッチョイ 6362-Jz20)2016/10/31(月) 23:58:57.20ID:y/KHbdbU0
おつおつ
0090デフォルトの名無しさん (スプッッ Sdff-O9pn)2016/11/01(火) 08:37:49.54ID:SqrJLIAed
>>88
七度探して人を疑え
プログラマに限らないようで
0091デフォルトの名無しさん (ワッチョイ 039a-ijxz)2016/11/02(水) 02:53:43.12ID:0L1TooRo0
>>84
azs..

今回のAppleの発表で5KのiMac4万安くなったというのもあり、
交渉する勇気がでました
■ このスレッドは過去ログ倉庫に格納されています