1 名前:デフォルトの名無しさん mailto:sage [2018/12/08(土) 20:29:41.41 ID:oXOQORcd.net] JetBrainsが開発した期待の新言語、Androidの公式開発言語にしてサーバーサイドもなんでもいけるKotlinについて語りましょう ※前スレ https://mevius.5ch.net/test/read.cgi/tech/1531818027/
496 名前:デフォルトの名無しさん mailto:sage [2019/04/19(金) 21:50:42.00 ID:aAzLpfHC.net] なによりJakartaEEが無能すぎる
497 名前:デフォルトの名無しさん mailto:sage [2019/04/19(金) 22:34:55.70 ID:hY3XsNGB.net] そこでjblendですよ
498 名前:デフォルトの名無しさん [2019/04/20(土) 09:53:47.54 ID:IaSD8GNU.net] >>453 おぉー同士。 当方、Visual Basicアプリ、iOSアプリの経験はあるが、Android経験ゼロです。 どうやらAndroidManifest.xmlに記載のActivityがプログラムのエントリーポイントだと解った所。 iOSとの比較で言えば、 Activity = ViewController, wedgit = View, Fragment = Container ViewController AppDelegate = Application って感じらしい。
499 名前:デフォルトの名無しさん [2019/04/20(土) 11:40:44.23 ID:IaSD8GNU.net] >>491 ちょいと違うかも! Fragment = custom wedgit(user defined wedgit) みたいだな。 さて、Java, Kotlin初心者なので、両者のコードの対応表が欲しいところだ。
500 名前:デフォルトの名無しさん [2019/04/20(土) 11:43:32.64 ID:IaSD8GNU.net] >>492 >Java, Kotlin Overview of Kotlin and Comparison Between Kotlin and Java https://www.xenonstack.com/blog/overview-kotlin-comparison-kotlin-java/
501 名前:デフォルトの名無しさん [2019/04/20(土) 13:32:39.16 ID:IaSD8GNU.net] >>493 JavaとKotlinの比較 https://xenos.world/comparison-of-java-and-kotlin/
502 名前:デフォルトの名無しさん [2019/04/21(日) 13:29:56.22 ID:9kZK6Cbt.net] macOS Mojave 10.14.2 Android Studio 3.4 環境でBasic Activity Project作ってHello World表示するまで、かれこれ2hr費やした。 ハマりポイント 1. Gradle project sync failed. Basic functionality will not work properly.▶resolved with installing JDK 8u212 2. No Module Specified▶ガチャガチャやって解決。
503 名前:デフォルトの名無しさん [2019/04/21(日) 13:36:48.96 ID:9kZK6Cbt.net] ところでGradleって何だ? daemonとして動いてファイルの変更を監視するmakeコマンドみたいなものか? 今、Gradle sync failed問題で困ってる。 新しくプロジェクト作ったら、Gradle sync failedってエラー吐いて、新規にapkってかModuleを作れない。なぜ??
504 名前:デフォルトの名無しさん mailto:sage [2019/04/21(日) 13:52:47.18 ID:qy+VhZ5w.net] >>496 何かというのはググってどうぞ Gradle sync failed は Android Studio側の問題 (おそらくbuild.gradle生成処理の問題) 必要なライブラリのダウンロードが終わってないと発生するような印象 Android Studioを再起動してプロジェクトを新規作成しなおすとエラーが無くなったりする
505 名前:デフォルトの名無しさん mailto:sage [2019/04/21(日) 14:11:36.76 ID:Jrx6sgEL.net] gradle嫌い。 完全オフラインで開発作業したいのに、 ちょっとした事でネットアクセスを要求してくる。
506 名前:デフォルトの名無しさん mailto:sage [2019/04/21(日) 14:14:25.40 ID:RKX/L/5n.net] GradleKotlinDSL使ってるけど情報少なすぎてハマるからオススメしない
507 名前:デフォルトの名無しさん [2019/04/21(日) 15:35:20.45 ID:9kZK6Cbt.net] >>497 AndroidStudio3.4(17 April 2019)には問題ありと判断して、3.2へdegradeしてみた。 Gradle sync failed issueは初回Studio起動時に発生するも、指示に従って、build toolの最新版をinstallしてみた。 その後は3.2では問題発生せず! ちなみに3.3はArchiveに発見できず。September 2018のAndroidStudioだが、まあ、良いんじゃ無いかぁ。
508 名前:デフォルトの名無しさん [2019/04/21(日) 15:53:07.87 ID:9kZK6Cbt.net] くっそ! AndroidStudio3.3は、English pageにあるのかぁ。 日本語ページに無いなんて! どうやら、日本は置いてけぼりって事だ。
509 名前:デフォルトの名無しさん [2019/04/21(日) 16:45:42.90 ID:9kZK6Cbt.net] AndroidStudio3.4 AndroidStudio3.2 AndroidStudio3.3.2 の順で試してみた。Mojave 10.14.3で。 Gradle sync failedが発生しないのは、3.2だった。 3.3.2, 3.4は発生する。 何をやっているかと言うと、 AndoroidStudioをinstallした直後に、新規プロジェクト(Basic Activity)を作った直後の挙動を調査しているのだ。 プロジェクト作成直後にGradle sync failedってよろしく無いよねぇ。 AndroidStudioをrestartしてもこの症状は解消しない。
510 名前:デフォルトの名無しさん mailto:sage [2019/04/21(日) 16:51:51.27 ID:qy+VhZ5w.net] >>502 3.3以降で、エラーになったプロジェクトを捨てて 再度新たにプロジェクトを作っても発生する?
511 名前:デフォルトの名無しさん [2019/04/21(日) 17:41:08.01 ID:9kZK6Cbt.net] >>503 します。ただし、3.4の場合、何かのひょうしに解決されて、Gradle sync failedってのが出なくなります。 idea.logファイルに記録されてるWarningはこんな感じ。 WARN - n.GradleOrderEnumeratorHandler - Root project path of the Gradle project not found for Module: 'App03'
512 名前:デフォルトの名無しさん mailto:sage [2019/04/21(日) 18:18:34.43 ID:2Pn5K2oC.net] そのへんのエラーは冗談比喩抜きで「起動しっぱなしで放っておいたら数日後に直る」経験しかない まあどっかの何かが新しい何かに何かしてなくて放置してると何かが何かなって何かするんだと思う
513 名前:デフォルトの名無しさん [2019/04/21(日) 18:20:30.52 ID:9kZK6Cbt.net] >>504 >Root project path of the Gradle project not found 解決か? ~/Library/Preferences/AndroidStudio3.4/ ~/Library/Preferences/AndroidStudio3.3/ を消してやると、Gradle Sync failed Issue解決!か? 今の所、上手く動いてる. 次は、Command Lineでkotlincコマンドを実行したいのだが、AndroidStudioをinstallしただけではダメなのだろうか? In Android Studio download page, the basic Android tools below are included in Android Studio. らしいのだが?
514 名前:デフォルトの名無しさん [2019/04/21(日) 18:36:10.73 ID:9kZK6Cbt.net] 試しに、 https://developer.android.com/samples ここからサンプルプロジェクトをdownloadしてみた。 なんと、AndroidStudio付属のGradleとは異なるバージョンのGradleのinstallが始まった。 サンプルプロジェクト毎にTarget API Levelが異なるために、それ用のGradleがinstallされるみたい。 AndroidStudio3.2, 3.3.2, 3.4をinstallしたが、しばらく3.4を使ってみる。
515 名前:デフォルトの名無しさん [2019/04/21(日) 18:38:19.48 ID:9kZK6Cbt.net] >>505 Gradle daemon(プロセス名java)をkillしてやれば、Sync failed Issueは解決するのかも!
516 名前:デフォルトの名無しさん mailto:sage [2019/04/21(日) 18:48:08.38 ID:2Pn5K2oC.net] すまん触った
517 名前:デフォルトの名無しさん [2019/04/21(日) 19:56:32.73 ID:9kZK6Cbt.net] developer.android.comからサンプルをdownloadして動かしてたら、Gradle daemonが3つも動いてる事になった。 各々違うVersionのGradleらしい。 どうやら、androidの開発環境の歴史的変遷から、ややこしい事になってるみたいだ。 build.gradle(Module:app)とbuild.gradle(Project: kotlinApp)の2つあったり。
518 名前:デフォルトの名無しさん mailto:sage [2019/04/21(日) 21:42:46.66 ID:ePLxajCC.net] 連投しているところ悪いけど、その手の日記ならQiitaにでも書いておいてほしい。 ていうか書くまでもなくそこに答えが書いてある。
519 名前:デフォルトの名無しさん mailto:sage [2019/04/21(日) 22:54:30.74 ID:JMkKpOJG.net] まずはAndroid関係ないシンプルなGradleプロジェクトを作ってみることをお勧めする。基礎知識が欠落しすぎてて余計な回り道しかしてない。 よほど込み入ったことをしない限りそんなに複雑なものではないから。 少なくとも歴史上生まれてきた数々のビルドツールの中では1番マシ。
520 名前:デフォルトの名無しさん mailto:sage [2019/04/21(日) 22:54:39.59 ID:8IQ6w5E8.net] .gladleのキャッシュとかいろいろあるけどねえ ガチャガチャやってりゃ直るからgladleは優しいよな
521 名前:デフォルトの名無しさん mailto:sage [2019/04/21(日) 22:55:48.78 ID:JMkKpOJG.net] それ。ぶっ壊れたと思っても適当になんかしてりゃ直ってくれるから優秀。
522 名前:デフォルトの名無しさん mailto:sage [2019/04/21(日) 23:56:09.92 ID:+YkyhY+W.net] まったく毎度毎度グーグルの仕事はほんんんんと雑だな
523 名前:デフォルトの名無しさん mailto:sage [2019/04/22(月) 00:58:40.19 ID:47gIWCEb.net] fragmentのbindingってlateinitでvarにするのとby lazyでvalにするのとどっちが正解ですか
524 名前:デフォルトの名無しさん mailto:sage [2019/04/22(月) 03:51:49.53 ID:SyBBal55.net] >>509 はい
525 名前:デフォルトの名無しさん [2019/04/22(月) 10:56:56.63 ID:QiOq/xsC.net] >>512 thx found great articles in Qiita concerning Gradle build tool.
526 名前:デフォルトの名無しさん mailto:sage [2019/04/22(月) 12:17:09.85 ID:iCdpr57v.net] JVMが有償化したらおまえら阿鼻叫喚
527 名前:デフォルトの名無しさん mailto:sage [2019/04/22(月) 12:49:18.33 ID:+g+F61Q1.net] 1年くらい前は確かに阿鼻叫喚だったけど今となってはもう誰も問題だと思ってない
528 名前:デフォルトの名無しさん mailto:sage [2019/04/22(月) 13:54:04.36 ID:5CpOs8vM.net] >>519 JVM, JRE, JDKが今どんな状況か分かってなさそう
529 名前:デフォルトの名無しさん mailto:sage [2019/04/22(月) 14:54:26.97 ID:3J9RCiSz.net] >>521 詳しく頼む
530 名前:デフォルトの名無しさん [2019/04/22(月) 16:23:17.22 ID:QiOq/xsC.net] >>522 Android Studio 3.4 Build #AI-183.5429.30.34.5452501, built on April 10, 2019 JRE: 1.8.0_152-release-1343-b01 x86_64 JVM: OpenJDK 64-Bit Server VM by JetBrains s.r.o macOS 10.14.3 これでどう?
531 名前:デフォルトの名無しさん [2019/04/22(月) 16:29:37.09 ID:QiOq/xsC.net] 俺、AndroidStudio3.4をinstallしてからGradle sync failed問題を解決しようとして、Oracle JDK8u212ってのをinstallしちまった。 AndroidStudio3.4にはOpenJDKってのが入ってるのか? Oracle JDK8u212ってのはuninstallしても良いのか? ちなみに、Command Lineでjava -vすると >java -version java version "1.8.0_212" Java(TM) SE Runtime Environment (build 1.8.0_212-b10) Java HotSpot(TM) 64-Bit Server VM (build 25.212-b10, mixed mode)
532 名前:デフォルトの名無しさん mailto:sage [2019/04/22(月) 16:34:09.84 ID:952sQ1R
] [ここ壊れてます]
533 名前:S.net mailto: >>524 Android Studioには専用にカスタマイズされたOpenJDKが組み込まれててそれを使って動いているから、システムに別のJDKを入れようが入れまいが関係ない [] [ここ壊れてます]
534 名前:デフォルトの名無しさん [2019/04/22(月) 16:35:59.31 ID:QiOq/xsC.net] ちなみにgradleってファイル名のbash scriptがAndroidStudio3.4には入っていて、 1. $JAVA_HOME 2. which java 上記からjavaコマンドの場所を検索してgradle-launcher-5.1.1.jarを動かしてるみたいなんだけど。
535 名前:デフォルトの名無しさん mailto:sage [2019/04/22(月) 16:37:13.18 ID:952sQ1RS.net] で、何がわからなくて何が聞きたいの?
536 名前:デフォルトの名無しさん [2019/04/22(月) 16:40:22.54 ID:QiOq/xsC.net] >>525 なるほど! ってことは、Oracle版JDKはuninstallしてもOK? 以下のフォルダをごそっと削除してしまいたいんだけど。 > /usr/libexec/java_home /Library/Java/JavaVirtualMachines/jdk1.8.0_212.jdk/Contents/Home
537 名前:デフォルトの名無しさん mailto:sage [2019/04/22(月) 16:49:59.02 ID:952sQ1RS.net] >>528 Android Studioを動かすだけなら消しちゃって大丈夫。 そのパソコンで他にjavaに依存している何かを動かしてるなら消しちゃダメ。
538 名前:デフォルトの名無しさん [2019/04/22(月) 18:10:15.79 ID:QiOq/xsC.net] >>529 thx javaに依存してる何かは、無いです。 kotlinc(Kotlin Compiler)コマンドを使いたいので >brew install kotlin ってコマンドを打とうとしてます。 kotlinがJREを必要とするなら、JREも同時にbrewがinstallするでしょう。 だったら、消さずに残すのが良いでしょうか?
539 名前:デフォルトの名無しさん mailto:sage [2019/04/22(月) 19:06:49.70 ID:R7Rys8j6.net] 幼稚園児が増える季節か
540 名前:デフォルトの名無しさん mailto:sage [2019/04/22(月) 19:49:54.02 ID:BvK+7rjz.net] この前も別の初心者がkotlincで詰まってたんだけど、どこかの有名な入門サイトがコマンドライン推奨でもしてるの? 正直kotlin書くならIDE前提だろうからコマンドラインでコンパイラの使い方を覚える必要なんて全くないと思うんだが。
541 名前:デフォルトの名無しさん mailto:sage [2019/04/22(月) 20:19:08.99 ID:SyBBal55.net] >>532 同じ人なのでは n=1
542 名前:デフォルトの名無しさん mailto:sage [2019/04/22(月) 20:20:41.47 ID:47gIWCEb.net] dagger
543 名前:デフォルトの名無しさん [2019/04/22(月) 20:31:59.51 ID:QiOq/xsC.net] >>532 うっそーん。 コマンドラインでチョコっと、コードを試したいってこと無い? IDEよりVimが好きな俺だけか? ようやく、Quickrun.vimが動くようになって、今コレ読んでるところ。 はじめてのKotlin。Javaと比較してみた https://qiita.com/hituziando/items/fa2dc4097b24ab78276e 30分で覚えるKotlin文法 https://qiita.com/k5n/items/cc0377b75d8537ef8a85
544 名前:デフォルトの名無しさん mailto:sage [2019/04/22(月) 20:41:55.57 ID:47gIWCEb.net] それならブラウザ上で実行できるplayground的なものが公式にあったはず
545 名前:デフォルトの名無しさん mailto:sage [2019/04/22(月) 20:49:23.39 ID:952sQ1RS.net] ちょっと書いてちょっと動かすにしてもIntelliJでRunした方がいいしな、デバッガが超優秀だし Vimで書いてコマンドラインで実行ってのは確かに昔Javaを勉強した頃はやったけど、 今となっては出汁をとるのに鰹節を削るところから始めるような古めかしさを感じる
546 名前:デフォルトの名無しさん mailto:sage [2019/04/22(月) 20:51:00.58 ID:952sQ1RS.net] まあ好みだからそれがやりたいなら良いとは思うよ 仕事で新人がそんなことで詰まってたらやんわり注意するかもしれんけど
547 名前:デフォルトの名無しさん mailto:sage [2019/04/22(月) 20:51:15.45 ID:MftVaIwk.net] そういうときはREPL使ってる
548 名前:デフォルトの名無しさん mailto:sage [2019/04/22(月) 21:14:37.90 ID:j5GMJ/X8.net] 単一ファイルを少し変更したいときはエディタ。 それ以外はIDEを使う
549 名前:デフォルトの名無しさん [2019/04/22(月) 21:42:39.28 ID:QiOq/xsC.net] >>537 三大Java IDEは気にはなってるけど、今の所リソース食いそうで躊躇してます。 今の所、Referenceの検索容易性から俺にはVimかなぁ。 デバッグ環境はpoorかな。
550 名前:print文を埋め込むしか、今の所は手が無しかな。 デバッグが必要ならAndroidStudio起動して、なおかつKotlin Scriptに変換して動かす事にします。 ScriptじゃないKotlinコードをAndroidStudioで動かす事は出来ないのかな?よく解らん。 Xcodeならplayground作れるんだが。 [] [ここ壊れてます]
551 名前:デフォルトの名無しさん mailto:sage [2019/04/22(月) 21:53:50.10 ID:BvK+7rjz.net] 君、謎の行動力がありそうでそれはいいんだけど、 本当に何から何まで無駄なことばっかりやってるからまず最初に調べる癖をつけたほうがいい この世界は一にも二にもまずは調べることが何より大事
552 名前:デフォルトの名無しさん mailto:sage [2019/04/22(月) 22:12:50.79 ID:5CpOs8vM.net] KotlinやるならIntelliJ一択 あとガワが違うだけでAndroid Studioの中身はIntelliJ ※Android以外のプロジェクト作成など、一部の機能を非表示にしている
553 名前:デフォルトの名無しさん mailto:sage [2019/04/22(月) 22:19:17.89 ID:BvK+7rjz.net] Kotlin勉強したいならIntelliJの無償版使うのが1番おすすめだねえ ちなみにAndroid Studio動かすのと消費するリソースは同じ、何せほぼ同じものだし
554 名前:デフォルトの名無しさん mailto:sage [2019/04/22(月) 22:23:01.40 ID:5CpOs8vM.net] >>522 ・JVMはJREの一部、JREはJDKの一部 ・Java9以降「システムへの単一JREのインストール」は無くなっており、 JDKから各アプリの同梱用JREを生成する (jdeps/jlink) ・OracleJDKに含まれるJVMは既に有償化されている ・OpenJDKに含まれるJVMは今後も有償化されることは無い
555 名前:デフォルトの名無しさん mailto:sage [2019/04/22(月) 23:33:08.26 ID:2FYuav9u.net] >>545 ありがとう 十分に理解できました
556 名前:デフォルトの名無しさん [2019/04/23(火) 12:05:16.04 ID:3Q52IgbA.net] >>535 >はじめてのKotlin。Javaと比較してみた >https://qiita.com/hituziando/items/fa2dc4097b24ab78276e > >30分で覚えるKotlin文法 >https://qiita.com/k5n/items/cc0377b75d8537ef8a85 もういっちょ! Kotlinまとめ - 文法詳解 - クラスとそのメンバ https://qiita.com/hicka04/items/6f47f505d7b68ede3680
557 名前:デフォルトの名無しさん [2019/04/23(火) 13:16:20.26 ID:gv0SOq8d.net] >>535 ある。ちょこっとする時は例えWindowsで IntelliJ 起動中でも Linux サーバ側でREPLやるな。 なんでかというと IntelliJ のREPLのウインドウはなんか出力がすぐ出なかったりでおかしいから。 その他短すぎるプログラムのためにわざわざプロジェクト作ったり packge 作るのもアホらしい時とか。
558 名前:デフォルトの名無しさん [2019/04/23(火) 14:13:43.00 ID:3Q52IgbA.net] Android Studio残念ポイント! 1. Android Projectしか開くことができない。 2. Hello Worldするhello.ktを開くことができない。 なんで?そう言う時は、IntelliJ使えってことか?▶なんだろうなぁ。
559 名前:デフォルトの名無しさん [2019/04/23(火) 14:52:10.33 ID:67h9+wNp.net] >>548 ,549 JUnit使う手がある。 しかも、main毎にファイル分けるとかしなくていいし。
560 名前:デフォルトの名無しさん mailto:sage [2019/04/23(火) 14:54:14.57 ID:TrDrz5+t.net] >>548 IntelliJのあれはまともに動いてないんじゃないかとずっと思ってる まともに使えてる人いるのだろうか…?
561 名前:デフォルトの名無しさん mailto:sage [2019/04/23(火) 15:47:52.74 ID:KnPjeA9Q.net] Intの変数名をintってするのってまずい? val int : Int = 0 こういうの
562 名前:デフォルトの名無しさん [2019/04/23(火) 15:52:03.96 ID:3Q52IgbA.net] >>548 REPLねぇ。 Ruby, JavaScript(Node.js), SwiftのREPL環境を使ったことあるけど、Reflection機能が充実している言語(ruby)以外、イマイチだなぁ。 コードの編集も不自由だし。 あんた、本当にLinux側でREPLする事あるの?
563 名前:デフォルトの名無しさん [2019/04/23(火) 15:54:20.98 ID:3Q52IgbA.net] >>552 怖いなぁ。そのコード。 俺、さっき、setNameってメソッドを作ったら、clashしてるって怒られた。 clash = conflict って意味らしい。 java.lang.StringのsetNameメソッドとコンフリクトしてるから、コンパイルしないんだって。
564 名前:デフォルトの名無しさん mailto:sage [2019/04/23(火) 16:06:01.49 ID:KnPjeA9Q.net]
565 名前:そういうことあるのか でもIntがintじゃないのってintを変数名で使ってもいいよっていう意思を感じるんだよなあ val hoge : Hoge ってすることを考えると val int : Int も自然な気がする [] [ここ壊れてます]
566 名前:デフォルトの名無しさん mailto:sage [2019/04/23(火) 16:09:50.49 ID:KnPjeA9Q.net] ああでもjavaは予約語でintだめなのか やっぱりやめておこう
567 名前:デフォルトの名無しさん mailto:sage [2019/04/23(火) 16:25:21.03 ID:xD8uuYM0.net] そもそも逆コンパイルしたソースじゃないんだから 意味のある変数名付けなよ
568 名前:デフォルトの名無しさん [2019/04/23(火) 16:31:00.98 ID:3Q52IgbA.net] macOS10.14.3 AndroidStudio3.4 環境です。API Referenceを参照するには、どうすれば? Command-Jで起動するかと思いきや?何も起こらないっす。 Webサイトへ行かないとダメなのかな?
569 名前:デフォルトの名無しさん [2019/04/23(火) 17:37:07.37 ID:gv0SOq8d.net] >>553 ちょっと試す時とかによく使うよ
570 名前:デフォルトの名無しさん [2019/04/23(火) 17:41:27.91 ID:3Q52IgbA.net] >>559 thx そっすか。
571 名前:デフォルトの名無しさん [2019/04/23(火) 18:02:43.25 ID:3Q52IgbA.net] >>558 see the hit result of Help>Search(Documentation). You can retrieve the documents by ctrl-J@macOS as well.
572 名前:デフォルトの名無しさん mailto:sage [2019/04/23(火) 19:19:13.65 ID:IWDMUBZh.net] >>555 とりあえず変な癖をつける前に『リーダブルコード』を読んでくれ、頼むから
573 名前:デフォルトの名無しさん mailto:sage [2019/04/23(火) 19:47:01.75 ID:hcUTeQ5O.net] リーダブルコード読みやすいしわかりやすいし為になるし 書いたやつ神
574 名前:デフォルトの名無しさん [2019/04/23(火) 19:49:26.39 ID:3Q52IgbA.net] >>562 >リーダブルコード この本そんなに良い本なのか? ペラペラ見たことあるけど、すでに知ってること、というか、実践していることしか書いてなかった。
575 名前:デフォルトの名無しさん mailto:sage [2019/04/23(火) 19:52:05.70 ID:Ky48Nwl1.net] >>564 嘘だ
576 名前:デフォルトの名無しさん [2019/04/23(火) 20:08:14.43 ID:gv0SOq8d.net] >>564 じゃあその本に書いてないことが書かれた本を出してくれ。Kindle版だけでもいいから。
577 名前:デフォルトの名無しさん mailto:sage [2019/04/23(火) 20:16:21.90 ID:IWDMUBZh.net] >>565 知っていることを再認識させてくれる良書ではある
578 名前:デフォルトの名無しさん mailto:sage [2019/04/23(火) 20:18:24.37 ID:IWDMUBZh.net] 何でIDが同じになるんだよ 同じプロバイダーなのか
579 名前:デフォルトの名無しさん [2019/04/23(火) 20:22:11.04 ID:gv0SOq8d.net] たまーに同じID出ることあるな。ものすごく希だが。 きっと今日は良いことあるよ。あと3時間40分ぐらいで終わるけど。
580 名前:デフォルトの名無しさん [2019/04/23(火) 20:22:12.06 ID:3Q52IgbA.net] >>565 嘘じゃない。 ああぁ。俺は間違ってないんだな。という感じ。 まあ、詳細に読んだわけでは無いし、プログラマが知るべき97のこと、って本にも似たような事が書いてある。 Matzも「名前重要」なんて事を、97本に寄稿している。 プログラミング作法、なんかの方がよっぽど良かったな。俺には。
581 名前:デフォルトの名無しさん [2019/04/23(火) 20:24:15.75 ID:3Q52IgbA.net] >>569 って事はHash algorithmがpoorってこった。
582 名前:デフォルトの名無しさん mailto:sage [2019/04/23(火) 20:25:36.05 ID:B8eC+d1i.net] コードコンプリート
583 名前:デフォルトの名無しさん [2019/04/23(火) 20:27:52.73 ID:3Q52IgbA.net] >>570 >Matzも「名前重要」 私の設計上の座右の銘は「名前重要」です。あらゆる機能をデザインする時に、私はその名前にもっともこだわります。 courtesy of Matz
584 名前:デフォルトの名無しさん mailto:sage [2019/04/23(火) 20:29:32.04 ID:IWDMUBZh.net] プログラミング作法 プログラム書法 ソフトウェア作法 全てブライアン・カーニハン御年77歳の名著
585 名前:デフォルトの名無しさん [2019/04/23(火) 20:31:32.66 ID:gv0SOq8d.net] >>571 まあそういうことだな。 こんな掲示板でrichにしてどうするって感じはするが。
586 名前:デフォルトの名無しさん [2019/04/23(火) 20:32:56.33 ID:3Q52IgbA.net] >>566 じゃぁ、一つ俺の考え方を! 狭いスコープの中を生きる変数は、名前が短くても良い。 e.g. str1 = “OK” 広いスコープの中を生きる変数の名前は、長い名前が必要。 e.g. numberOfBooks = 100 何時いかなる時も、意味ある変数名をつけるのは、俺は反対だ。 変数名を考える事に、時間が惜しい時もある。
587 名前:デフォルトの名無しさん mailto:sage [2019/04/23(火) 20:33:50.86 ID:PyZ6tY2R.net] 拡張プロパティに値セットする方法ある?
588 名前:デフォルトの名無しさん [2019/04/23(火) 20:36:26.55 ID:gv0SOq8d.net] やはりプログラミングも茶道とか華道とかと同様にプログラミング道を作ってわびさびが必要な時代が来たのかも知れないな。
589 名前:デフォルトの名無しさん mailto:sage [2019/04/23(火) 20:36:27.27 ID:IWDMUBZh.net] >>576 そ、ループ変数なんて i, j, k, ....nで良いやん
590 名前:デフォルトの名無しさん mailto:sage [2019/04/23(火) 20:38:43.46 ID:PyZ6tY2R.net] でもkotlinでforとか使わなくね?
591 名前:デフォルトの名無しさん [2019/04/23(火) 20:42:02.64 ID:gv0SOq8d.net] >>576 変数名を日本語にすれば良い。 ソース丸ごと世界に公開する予定がないならその方が分かりやすくて良い。 日本語知らないやつには難読化して軽くプロテクトが掛かった状態にもなる。
592 名前:デフォルトの名無しさん [2019/04/23(火) 20:54:10.92 ID:3Q52IgbA.net] >>581 昔、英語が出来なかった時には、 kabuPrice とか kabuka なんて恥ずかしい名前使ってたけど、 今では、 sharePrice でないと、code reading時にストレス感じるわぁ。
593 名前:デフォルトの名無しさん [2019/04/23(火) 20:57:09.18 ID:gv0SOq8d.net] 漢字使え漢字
594 名前:デフォルトの名無しさん [2019/04/23(火) 21:02:15.89 ID:3Q52IgbA.net] val 感じ = "感じ" print(感じ) なんと、warningは出るが、実行可能。
595 名前:デフォルトの名無しさん [2019/04/23(火) 21:05:59.98 ID:3Q52IgbA.net] Qiita見ながらKotlin修行中だけど、 Jump Command便利そう。 return@forEach continue@loop return@loop とか言うやつ。 これSwiftに欲しい。
596 名前:デフォルトの名無しさん [2019/04/23(火) 21:15:06.63 ID:3Q52IgbA.net] そんなことより、API referenceってかDocumentをofflineで見る手段、どうしてる? Zeal, Velocity, Dashなんかを使ってるの? Android StudioでAppCompatActivetyを引くと android.support.v7.app.AppCompatActivity public AppCompatActivity() Gradle: com.android.support:appcompat-v7:28.0.0@aar たったコレだけしか表示されないっす。