Flutterやろうよ!!! 5 (487レス)
Flutterやろうよ!!! 5 http://mevius.5ch.net/test/read.cgi/tech/1714961291/
上
下
前次
1-
新
通常表示
512バイト分割
レス栞
抽出解除
必死チェッカー(本家)
(べ)
自ID
レス栞
あぼーん
リロード規制
です。10分ほどで解除するので、
他のブラウザ
へ避難してください。
248: デフォルトの名無しさん (ワッチョイ a7f4-HpUb) [] 2024/07/02(火) 15:12:30.03 ID:uzy550Vj0 http通信回りはあまり詳しくないが。 完全なリストとなると一応こういうことじゃないか? https://developer.mozilla.org/ja/docs/Web/HTTP/Status Flutterの各種widgetのハンドリングをResultでするとかもまあ、Resultでやるのはあんまり現実的ではなさそうな雰囲気を感じる。 widgetの部分は無理でもフレームワークに依存しない内部の処理の部分はもちろん自分たちが管理する部分なのでResultでできるだろうが。 httpに限って言えばステータスコードで返ってくるからそれをResultにするのは簡単そうだが。 外部の仕様やフレームワークのメソッドに対する完全な例外リストを得ることができるかどうかは、外部次第というか。 まあ、RustのようにResultが言語の機能として盛り込まれているわけではないから、妥協しないといけないところはあると思う。 例外をcatchできてるなら、理論的にはそのタイミングでResultに変換できるということではある。 自分たちが管理してるならいざ知らず、外部で管理されてるやつはねえ、まあ、それをResultでラップし直すのは規模によっては大変だと思うよ。 おれは、基本的に個人開発しかしてないんだけど。 例外リストにヌケモレがあるっていうのは、それはバグじゃないか? http://mevius.5ch.net/test/read.cgi/tech/1714961291/248
249: デフォルトの名無しさん (ワッチョイ a7f4-HpUb) [] 2024/07/02(火) 15:50:34.15 ID:uzy550Vj0 DartでResultをするうえで重要な点を言及していなかった。sealed class の機能があるからResultをする意味が上がる。 sealed class Result<V,E>{...} final class Success<V,E> extends Result<V,E>{...} final class Failure<V,E> extends Result<V,E>{...} switch (result) { Success():...; Failure():...; } seald class の機能を使えばswitchでSuccessの場合とFailureの場合を強制できる。おれ個人は関数的な書き方ではなく文的な書き方を常用している。理由はreturn文をかけるから(早期returnができる)。ついでにexceptionもこのselad classを使う。 /// {@macro HttpRespons401Exception} /// {@macro HttpRespons402Exception} /// ... sealed class HttpResponsException {...} /// {@template HttpRespons401Exception}Unauthorized...{@endtemplate} final class HttpRespons401Exception extends HttpResponsException {...} /// ... final class HttpRespons402Exception extends HttpResponsException {...} /// ... final class HttpRespons403Exception extends HttpResponsException {...} ... switch (httpResponsException) { HttpRespons401Exception():...; HttpRespons402Exception():...;... } final Result<String, HttpResponsException> myHttpGetResult = myHttpGet(...); 厳密ではないが、おれはこんな感じで書いてるよというイメージ。DocCommentをつければmousehoverしたときに詳細がわかる。 http://mevius.5ch.net/test/read.cgi/tech/1714961291/249
251: デフォルトの名無しさん (ワッチョイ a77a-HpUb) [] 2024/07/02(火) 22:39:56.42 ID:uzy550Vj0 おれはhttp.getを触る処理をやる予定無いから別に間違っても構わないし深入りはしないけど。 http.getのドキュメントからそれらのexceptionが発生しうる旨は書いてなかったな。 実際にはそれらが発生するならドキュメントの不備じゃね? まあ、おれは深く触る予定無いからいちいち真偽を調べへんけど。 http://mevius.5ch.net/test/read.cgi/tech/1714961291/251
252: デフォルトの名無しさん (ワッチョイ a77a-HpUb) [] 2024/07/02(火) 22:46:08.54 ID:uzy550Vj0 おれ自身の感覚としてはstatusCodeでエラーを表しているものであるなら例外もしくはErrorとしてあつかってもいいと思うけど。 そこらへんの細かいところは実際に管理してる人が責任もってやる領域だと思うので、各々の責任でやってくださいって感じだな。 http://mevius.5ch.net/test/read.cgi/tech/1714961291/252
メモ帳
(0/65535文字)
上
下
前次
1-
新
書
関
写
板
覧
索
設
栞
歴
スレ情報
赤レス抽出
画像レス抽出
歴の未読スレ
AAサムネイル
Google検索
Wikipedia
ぬこの手
ぬこTOP
0.023s