Swift part11 [無断転載禁止]©2ch.net
■ このスレッドは過去ログ倉庫に格納されています
ひぇぇ
枯れた業務系で仕事してるが
知らんあいだに世の中どんなことなってんだ マネジメント力にかかってる
人数増やすほどなおさらその人数を100%に近い稼働率で動かすのは至難の技 アプリのプログラミングは1人1画面って感じなんかね
サーバーサイドにマンパワー使ったかな swift使わなきゃまともなプログラム作れないなんて
所詮アマチュア
swiftのビルドの遅さは一体何?アホ遅いよな? COBOLとかまだ現役
5000ステップくらいならコンパイル3秒www Swiftは趣味で日曜プログラマが使うにはいいと思う >>349
中小は自信過剰なアホジジイがマネジメントしてるケースが多いから困るよ swift6あたりで可読性も兼ねて型推論は無くなるだろう。
型推論など甘え。 クラス変数やメンバ変数は型が明示されてた方が可読性は高いと思うけど、一時的な変数をいちいち型宣言するのは面倒いよ めったにないけど型がついてないと
呼び出し先のメソッドの戻り値の型がこっそり変わって
それに引きずられて呼び出し出し先のメソッドが変わったんじゃないかとか
心配事が増えることがある let someName = String(format:"User %02d", userId)
みたいなのは明らかにStringってすぐわかるから書かないようにしてるけど、
ややこしいメソッド呼んで戻り値の型がぱっとわかんなそうなやつは書くようにしてるな。
let analyzedDataMap = analyzer.analyze()
みたいなやつね。 そういうケースは
なるべく右辺に型を書くようにしてる 後でコード読む時に、型を調べようと思ったら関数まで飛んで返り値を調べないといけないからな
文字列みたいに明らかなのはいいけど、オレオレ関数の返り値を代入する場合はなるべく型宣言した方がいいかもね メソッドチェーンや引数に関数呼び出しを直に置くのもしないの?
同様に戻り値の型が明示されないまま流れていくけど >>363
そういうのはもうひとつのイディオムみたいなもんだから、わざわざ変数宣言しているものに比べてなんとなく流れだけわかってればいい場合が多いと思うけど。 >>365
変数宣言って「わざわざ」なんて言う程のことかな
同じ参照を複数回使うために変数に置くとかよくあることだと思うんだけど
こういうの前者は良くて後者のrは型明示すべきなの?
f(t.load(), kNameIndex)
↓
let r = t.load()
f(r, r.index("name")) まぁ、関数の引数は補完機能を使えば型も参照できるからそこまで拘る必要ないかなと思うけどな
引数には分かりやすいラベル使って欲しいとは思うけど >>366
文脈によるんじゃないの。メソッドで何回も使われる重要な変数が型ついてなかったら読みづらいし、局所的に2回ぐらいしか使われない変数だったらどうでもいいと思う。
型推論なんか無価値だと主張しているつもりはないので。
C++のmapのiteratorとかちゃんと型を書きたくないしさ。 可読性の向上のために型推論があるのに、コンパイラが推論可能だからといって、人間が推論することが難しい書き方はするべきではない ほんそれ
そもそも型推論なんていらん
むしろ考慮することが増えて面倒 型推論いいじゃん
コーディング量が減るし
let age: Int = calculateAge(fromBirthday: birthday)
let age = calculateAge(fromBirthday: birthday)
let name: String = nameField.text.stringByTrimmingCharactersInSet(.whitespaceCharacterSet())
let name = nameField.text.stringByTrimmingCharactersInSet(.whitespaceCharacterSet())
紛らわしい変数名とか使わなければ型は自明なケースも多い ところでSwiftとかKotlinとか似たような言語がポコポコつくって何がしたいん 微妙にちょっとずつ違うから
最終的にいいとこどりして
C#がさらに最強になる >>372
ageをひっそり月対応にしといてやんよ まぁ型推論が有効なのってideとの連携前提なとこあるよね。
結局この型どうやんねんって時にフォーカス合わせれば型がわかるから使えてるところはある いろんなソース読んでるとBaseViewみたいなの用意してストーリーボード上でそれをNavigationControllerより前に置いてるんだけどどういう風にどういう意味でなんの利点があってやってるんですか? そのBaseViewがソースでどういう使われ方してるのかみてみないとなんともいえんな >>377
なかなかナゾな書き方だなw
BaseViewController -> NavigationController
NavigationController -> ViewController.view.subviews[0](=BaseView)
StoryboardにはViewを単独では配置することはできない、また、単にViewControllerではなくNavigationControllerってるとこからは前者か?と推測
前者のは利点はわからんなあ、逆にあんまりNavigationControllerが必要でなくViewController -> ViewController -> ViewController ... な遷移でも書けるがNavigationController中で遷移させた方が利点があることはあるのはある
後者は(なんか別に配置して)目一杯でなくなった場合にとかだろうと推測 >>372
375でも書かれてるけど、ageって必ず年ってわけじゃないからageに関しての例は適切じゃないと思った。
FloatなのかIntなのか事前に知っておきたい場合ってのも結構多いし。 >>376
そう
何に推論されてるのか推論するのが面倒なときがある
結局単にIDE依存度を高める機能 年齢の型が浮動小数点数なわけないだろ常識的に考えて 誕生日からの経過月数や日数、ひいては時間や秒まで浮動小数点の年齢として表現することにする実装もありうる
常識的っていう曖昧な前提はプログラミングではいらない >>379
御察しの通り前者です
どういう風に使っているかと言われると、表示に関係者した共通処理?プログレスの表示などのをまとめてるっぽいんだけど画面数が多くなるとまとめたほうがいいのかな >>383
年齢に整数型以外を使うときは、typealiasするなり型を明示して、変数名もageにはしないわ常識的に >>384
BaseViewControllerでググったらあった、複数。こんなん流行ってたのか
https://qiita.com/yimajo/items/8ef1850e1362bd3bf3d8
基本否定姿勢だけどちゃんとメリットも書いてある/理解してる(?)とても良い人の意見なんじゃね?w
俺にはそれでもメリットは何も感じないけどww >>380
事前に知って起きたい場合じゃなくて、事前に決めて起きたい場合じゃないの?
型推論があれば受け側の変数の型を宣言しておけば、同じ名前のメソッドを使い分けられるんじゃない? >>385
つまり最初から型書いとけばこんな下らん議論はいらないということだ
IDEもあるのに型を書くくらいがめんどいやつはプログラマやめちまえばいいと思う アプリ全体のviewControllerで行う処理とか後から追加するのが面倒だから、実装なしでもbaseViewController継承しておくのがプロ アプリ全体のviewControllerで行う処理とか後から追加するのが面倒だから、実装なしでもbaseViewController継承しておくのがプロ 大丈夫
モダンな言語を触ること自体が喜びの意識高めの方々にはまったく苦にならないから >>387
書く側としたら事前に決めておきたい、だけど、読む側としたら事前に知っておきたいという感覚になるのかな、と。
あと、ライブラリを部分的に知ってるような場合に、どこで自分の知ってる型が出てくるかわかるだけでも全然読みやすさが違うとかはあるよ。
名前の付け方がよければそんなことないかもしれないが、そうでない場合、全部一個一個チェックしていかなきゃいけないわけだから。 ソースを追ってて型が明示されてないと分からなくなることってそんなあるか?
いちいち型が明示されててごちゃごちゃしてるよりすっきりしてる方が好みだけどなぁ
どうしても知りたければIDEの構文補完ですぐわかるし
コンストラクタとかは呼び出しそのものが型宣言みたいなもんやし冗長やろ
let query: NSMetadataQuery = NSMetadataQuery()
let query = NSMetadataQuery()
let fileManager: FileManager = FileManager.default
let fileManager = FileManager.default
as演算子を使う時も型は自明
let appDelegate: AppDelegate = UIApplication.shared.delegate as! AppDelegate
let appDelegate = UIApplication.shared.delegate as! AppDelegate 逐一型宣言してたら、後でクラス名とか変えたくなった時に影響範囲も増えるからな おまえらみたいな意識高い系のおかげでかいしゃは消える
なぜならユーザーメリットなく 常に意識高く(=コスト高く)
皆が意識高いわけじゃないし
もうIDEが プログラム推論 で全部書けよ そのうちAIがプログラムを書くようになる日もくるだろう
俺たちの仕事は要件定義だけ
そのうち、要件定義すらAIがやりはじめるだろう
もう俺達の仕事はなくなるね IDEがないと書けたもんじゃないモダンな言語
実に感慨深い IDEが無くても書けるモダンな言語って一杯あるもんな とにかくビルド遅い、Mac全体遅くなる
swift死んで欲しい 昔はObjective-Cという言語があってだな。 swiftの進化は止まらないキリ!(常に仕様変更) しかし、案件がほとんどswiftだらけになってきたな Swiftならアプリ自体は大した更新がなくてもメンテ費の上乗せが出来るな 順位 プログラミング言語 インデックス値 推移
1 Java 12.431% ↓
2 C 8.374% ↓
3 C++ 5.007% ↓
4 C# 3.858% ↓
5 Python 3.803% ↑
6 JavaScript 3.010% ↑
7 PHP 2.790% ↑
8 Visual Basic .NET 2.735% ↑
9 Assembly language 2.374% ↑
10 Ruby 2.324% ↑
11 Delphi/Object Pascal 2.180% ↑
12 Perl 1.963% ↓
13 MATLAB 1.880% ↑
14 Scratch 1.819% ↑
15 R 1.684% ↓
16 Swift 1.668% ↓
17 Objective-C 1.513% ↓
18 Visual Basic 1.420% ↓
19 PL/SQL 1.408% ↓
20 Go 1.357% ↓ 逆ギレww
っていう風なのかもだがマジっぽさの方が上回る。うまいんだかなんなんだかww >>418
このアセンブラって具体的にはどういう分野で使われてるのかね そういうガチでとかいうのではないだろう。ググるくらいな人ばかりなんだから
学習とかデバッグでとか極めて一部をハンドアセンブルとかとか諸々じゃね >>423
チップとかファームウェアとかの組み込み系
カード会社や航空会社で使われてるTPFでもまだアセンブラ使われてる
TIOBEは用途も業界も関係ないから
長期的なトレンドの参考にはなるけど
相対的な順位を見てもほとんど意味ない >>427
なるほど
確かにチップとかのなかのマイクロコードはアセンブラってのはしっくりくる もうswiftは死ぬな
型推論を許さないswift、speedに乗り換えるかな 全部varで全部nil許容で全く問題ない
どうせアプリなんか使い捨て
reactive?オナニーでしょ?学習コスト考えたら
objcで速攻リリース、かつ何度もも作り直したほうがマシ ユーザメリットで考えたら、型推論?リアクティブ?氏ねば?
って感じだろうなw
型推論なんかしてないでテストコード自動生成しろとw swift+リアクティブってロシアの嘘ニュースみたいな感じで、誰も幸せになってない気がする 型推論を目の敵にしてる奴なんなんだ
絶対いるし
それとnil許容だけはだめだ絶対だめだ 学習コストがーなんて言い出したらもう技術者として終わり おれはできるだけ楽したいからobcでサクサク儲けるよ Swiftはまだ歴史が足りない気はする。
最近、お客さんから「Xamarinで」とか指定されるし。 SWift のUIKitとかFoundationとかのAPIの日本語マニュアルとかどこにあるん?
英語のアップル公式のしか無いんか? >>438
ttps://developer.apple.com/jp/documentation/ >>439
そこにある、日本語化されたのって
Objective-Cしか無いように見えるんですが
これのSwift版がどこかなぁ....という相談でして.... >>440
ない
というかObjective-Cでよくね? >>444
ですよね、やっぱSwiftの箇所無いですね
タイムスタンプ相当古いままのも多いし swiftって3から出せば良かったんだよ
ググっても2.xの構文だと今はほぼアウト
しかしCORE i5のMacbookじゃ遅くて開発にならないし実用的じゃない
客にXamarin勧めて良かった Swiftは型推論禁止オプションをサポートしたらかなり普及すると思うしIDEもめちゃくちゃ反応良くなるはず。
候補の出が悪いのはIDEとして致命的欠陥だから。
型なんか書くからさっさとビルドしろよ。何回もビルドするんだから毎回の推論は時間の無駄。
アプリなんか時間かけて作るもんじゃないし。ただの金儲けでしょ? ■ このスレッドは過去ログ倉庫に格納されています