VB.NET質問スレ(Part43) [無断転載禁止]©2ch.net

■ このスレッドは過去ログ倉庫に格納されています
1デフォルトの名無しさん
垢版 |
2016/06/15(水) 11:41:09.50ID:bPj3FmGk
前スレ

VB.NET質問スレ(Part40)
http://toro.2ch.net/test/read.cgi/tech/1365857015/
VB.NET質問スレ(Part41)
http://peace.2ch.net/test/read.cgi/tech/1391334405/
VB.NET質問スレ(Part42)
http://echo.2ch.net/test/read.cgi/tech/1419148239/
2016/09/23(金) 14:48:40.29ID:k2scBugP
>>144
たまたま文字列じゃなくて
まんまドキュメントにナントカのIDは先頭がこの文字で何桁のハイフン区切りでハイフンの後ろを取り除いたら親ナントカのIDに一致する文字列ですみたいなことが書いてあったりする
これはプログラミングで必要だからそうなったものではなく実際にエンドユーザーがそういう認識でナントカIDを認識、運用している
これはどうみたって見た目の問題じゃなくビジネスロジックじゃないかな?
2016/09/23(金) 14:49:56.75ID:nupyc52F
>>148
じゃあ延々何を言ってるわけ?w
151デフォルトの名無しさん
垢版 |
2016/09/23(金) 14:54:34.72ID:o2Q2dMOD
>>149
うん、ユーザーは字句表現と値の意味を区別するって意識がそもそもないからな
でも開発者はそこから字句表現と値の意味を分離してビジネスロジックの本来的な意味を
読みとらないとゴチャゴチャと整理されないままの融通の利かないいわゆる
「使えないシステム」が出来あがる
152デフォルトの名無しさん
垢版 |
2016/09/23(金) 14:58:31.27ID:o2Q2dMOD
>>150
少し話が展開しすぎたから俺もよくわからんw
2016/09/23(金) 17:47:43.12ID:O2gBGGU9
>>137
>UIがビジネスロジックに依存しても何もおかしくない
別にお前の意見に意義があるわけでなないんだが
UIパーツ(全体としてのUIではなく、あくまでUIを構成するパーツな)の再利用性についてどう考えてるのか教えてくれ
154153
垢版 |
2016/09/23(金) 17:51:38.54ID:O2gBGGU9
×意義
○異議
な。意義がないとか、全否定してるみたいだから訂正しとく
2016/09/23(金) 18:00:12.62ID:pqhQamNt
>>153
もう書いてますよ>>128

汎用的に作った方がいいか、どの程度汎用性を持たせるかはケースバイケース。
別に一つの目的にしか使えないコントロールがあっても何も悪くない。
2016/09/23(金) 18:04:25.83ID:O2gBGGU9
>>152
お前の意見はビジネスロジック以前の単純なチェックはUI自身でやらせろってことだと思うが
じゃあ、ビジネスロジックにかかわる入力チェックを行うUIパーツはどうあるべきだと思うの?
2016/09/23(金) 18:16:24.17ID:O2gBGGU9
>>155
>別に一つの目的にしか使えないコントロールがあっても何も悪くない
なるほど。おおむね同意だが、さすがに>>128からこれを読み取るのは難しいw

まあ、これを許すのなら
>デザイナで正規表現パターンを設定しちゃう
ようなものや、いっそコントロール自体に検証パターンをハードコーティングしたようなものも
許されていいんじゃないかという気もするけどな
まあ、その辺の加減はまさに
>どの程度汎用性を持たせるかはケースバイケース
って話ではあるが
2016/09/23(金) 18:22:41.62ID:XaRdCidB
さすがVBだわwwwバカばっかwww
159デフォルトの名無しさん
垢版 |
2016/09/23(金) 18:29:52.08ID:o2Q2dMOD
>>156
どういう意図の質問なのかいまいちよく分からんが

俺が言っているのは
UIで行なうべきはレキシカルなvalidation
ビジネスロジックが行なうべきはセマンティックなvalidation
だから原則的に
ビジネスロジックにかかわる入力チェックを行なうUIパーツ
というのは存在しない

ただし俺はジョンレノンと違って現実見てる人だから
UI側でセマンティックなvalidationをした方が実装的に都合が良い
というのであればそれはそれで全くかまわんよ
2016/09/23(金) 18:40:12.83ID:O2gBGGU9
>>159
実装の都合じゃなくて、ユーザビリティ的に当然にそれを求められるわけなんだが...

セマンティックなvalidationを行うためのUIコントロールはどうあるべきかって話をしてたと思ったんだが
ちょっと違う次元の話をしてらしたのね
161デフォルトの名無しさん
垢版 |
2016/09/23(金) 18:45:07.36ID:o2Q2dMOD
>>160
いや元の質問はレキシカルなvalidationについての質問なんだが
それをお前らがセマンティックなvalidationであるかの様に話してるから
いやそれは違うぞ、と
こういう流れやね

で、ユーザビリティの為にセマンティックなvalidationをUIが受け持つ必要は全くない
そこはあくまでも実装上の簡便性と拡張性とのバランスの問題
2016/09/23(金) 18:58:27.30ID:O2gBGGU9
>>161
>カスタムコントロールにビジネス上の知識を持たせるのって有りですか?
>商品コードは特定の正規表現を満たす文字列であるというビジネスルールがあるとします

正規表現っていうのはあくまでビジネスルールの例として出されたものであって
UI(カスタムコントロール)とビジネスロジックの関係が主題だと読み取るのが当然だと思うんだがな

わかってて論点をずらしてるのか、わからないから論点がずれてるのか
ま、これ以上はまともな議論になりそうもないからこの辺で俺は引っ込むわ
163デフォルトの名無しさん
垢版 |
2016/09/23(金) 19:01:43.37ID:o2Q2dMOD
ただの負けずぎらいだったかw
2016/09/23(金) 22:17:33.66ID:QN68f0P3
お前ら
UIとBLの間にサービス層というものを
作ったことがないのですか
2016/09/23(金) 22:31:30.97ID:ytBluy/j
VBで何言ってんの
イベントハンドラにベタ書き、
レビューで文句言われたらモジュールにそのまま移動するだけ
これがVBやで
2016/09/23(金) 22:44:17.99ID:k2scBugP
>>164
サービス層やビジネス層に渡すパラメータの検証の話をしてるのでは?
2016/09/23(金) 22:46:35.09ID:h+j53T+k
どこもそうやで
コントローラーとか作ってもいいけど、何書くか迷う人続出
2016/09/23(金) 22:56:58.35ID:PwXnKVri
>>164
スレ間違えてないか?
2016/09/27(火) 00:38:43.68ID:oI7fJQ/J
だってうちの会社Linq使うなっていうんだもん…
8000行の画面のカスタマイズ(クラス名はfrm00100000020)を押し付けられても困るし…
2016/09/27(火) 00:43:58.16ID:rJ2xXuAE
メソッドチェーンなら誤魔化せるだろ
それか非拡張メソッド形式で呼び出し
まさかメソッド禁止ってこたないだろうし
2016/09/27(火) 11:47:43.35ID:woj1K1Xu
フォームにコンテナ(たとえばGroupBox)を張って
そのコンテナの中にテキストボックスを数個おいて幅などを調整

最後に、そのテキストボックスがセンターになるように
コンテナの幅や高さを弄っているのですが、きちっとセンターになりにくいです。
(手間がかかる)

コンテナに含まれるコントロールに応じて
コンテナサイズを自動的に調整する手段はないのでしょうか。
2016/09/27(火) 12:04:25.39ID:K+U0Izbl
>>171
率直に言ってどこが手間かさっぱりわからん。
っていうか、あんたいつも質問だけしてトンヅラしちゃう人だよねたぶんw
2016/09/27(火) 22:34:32.22ID:zETe1SmY
>>171
Loadイベントで計算すればいいのでは?
2016/10/08(土) 09:07:35.92ID:vL+1Z5yj
VBやってる奴が、VB消えてC#やるくらいならJAVAやると言ってたけど
絶対にC#やるね

VB以外使う気のない向上心の低い人間が
eclipseやnetbeensなんぞ
使える筈がない
175デフォルトの名無しさん
垢版 |
2016/10/08(土) 09:11:21.14ID:vL+1Z5yj
VB6のプログラムをVB.NETにリプレースするとか話があるんだけど
たぶん、VB6のお作法を可能な限り再現したいんだろうな。

goto文とか。。。
2016/10/08(土) 10:18:06.75ID:xglEW1n9
>>174
向上心があってもC#だとおもうけどな
最近Iavaの仕事入ったけど何が良いのか分からない
昨日javaやってる人の話では
取り敢えずNull許容型も使えないし
OrElseやAndAlsoも使えないらしいじゃないか
この調子で行くと実はvb6と大して変わらないんじゃないか?
2016/10/08(土) 10:19:22.10ID:xglEW1n9
>>175
やめろw
2016/10/08(土) 10:22:45.61ID:vrZNWqvT
>>174
向上心もクソも、Javaのドカタ開発なんか決まりきった枠組みの中でコピペ垂れ流すだけやぞ
コボラーやペチパーからDDDとかやってるガチな連中まで誰でもウェルカムなJavaと違って
.NETはVBがカスの受け皿になってるためにC#は比較的意識高い空気があるからむしろVBerには馴染みにくいと思われる
2016/10/08(土) 11:53:52.07ID:lglHWhKO
>>175
弊社でも同じような要件で仕事をたまにやってるけどうまくいった試しがない
コードや作法を維持するために不要なハックコード・パッチコードを大量に追加しなければならない
VB6のコードも酷いけどそのせいでむしろ保守性が悪くなる
リプレースの前にVB6のままリファクタリングすればうまくいくんだけどな
180デフォルトの名無しさん
垢版 |
2016/10/08(土) 20:58:07.90ID:c2XSdclF
弊社てwこいつアホだろw
2016/10/08(土) 22:09:50.82ID:160QOg/G
>>178
JavaもC#も大差なく素人から達人まで幅広くいる
VBが圧倒的に地を這っているのは確かだがそれでC#erを持ち上げるようなことはないよ
2016/10/08(土) 22:15:48.56ID:50+P0fkb
>>175
リプレースっていうのはそういうもんだ
せっかくだから・・・といろいろと色気を出すとドツボにハマる
2016/10/08(土) 23:11:10.01ID:5XiE+va+
じゃあなんのためにリプレースするのさ
2016/10/08(土) 23:14:09.01ID:5XiE+va+
今まさにリプレース案件やってるんだが
本当に何のためにリプレースしてるのかだれか教えてくれ
http://forza.cocolog-nifty.com/blog/2008/02/post_6234.html
2016/10/08(土) 23:15:16.83ID:QRFMCd1a
意識高い()つもりのC#厨って何のためにここ見てるの?
2016/10/09(日) 00:13:11.37ID:wwPMkRFM
>>183
ツールやライブラリのサポート打ち切りが多い
まだまだ余裕で動くんだけど公式にサポートが無いという状況を恐れているお客さんは少なくない
2016/10/09(日) 01:31:29.79ID:r1p0JkFt
>>185
意識高いかどうかはともかくC#やJavaくらい使えて当然だろ?
まさかVBerはみんな自分みたいにC#使えないのが当然だとでも思ってるのか
2016/10/09(日) 01:49:02.64ID:B/N5a+DZ
>>187
使える人もいるし、使えない人もいるよ
家に閉じこもってないで、もっと外の世界を見よう
2016/10/09(日) 01:53:43.78ID:Jzv5OHPt
VBとC#ってほぼ同じだろ
なんなんだこの扱いの差は
2016/10/09(日) 08:37:09.99ID:wwPMkRFM
実績って大事だよね
2016/10/09(日) 08:41:11.43ID:ufk0aci5
>>189
ほぼ同じって信じてるバカのせいじゃね?
2016/10/09(日) 10:02:06.44ID:7VtbLppb
やっぱC#厨ってバカなんだねw
2016/10/09(日) 12:31:22.13ID:gnTrYliV
単純にBASICのネーミングを嫌う人が多いよね
IFとかFORのブロックをEND〜から{}に変えるだけで格段に読みやすくなるのになぁ、とは思う
2016/10/09(日) 14:00:15.61ID:u4wAPfrW
俺はそこはむしろ逆だな
単純な見易さで言ったら波カッコよりキーワードの方が見易い
そしてキーワードよりインデントのpython形式の方が見易い
2016/10/09(日) 14:51:08.11ID:7VtbLppb
だよなw
{}の方が見やすいとかどんな脳してるんだw
あとインデントは必要だけどそれだけだったらページ跨いだ時にどうもならん
2016/10/09(日) 15:30:39.31ID:B/N5a+DZ
そこは慣れでしょ
Pythonのインデントのほうが見やすい人もいるし
2016/10/09(日) 15:57:49.59ID:u4wAPfrW
>>195
でもページまたぐようなブロックってクラススコープだけだろう
1画面以内(多くても15行ぐらい)のメソッド以外書いた記憶最近じゃもうないわ
2016/10/09(日) 17:00:56.48ID:ufk0aci5
>>195
VB脳キタ━━━━(゚∀゚)━━━━!!
2016/10/09(日) 17:03:25.10ID:7VtbLppb
流石C#脳w
2016/10/09(日) 18:08:02.87ID:r1p0JkFt
>>199
ページ跨ぐ長大なメソッドを生産するのがVB脳で
適当に分割するのがC#脳だとしたらそのレスは文字通りの賞賛の意味になるがお前はそれでいいのか
2016/10/09(日) 18:48:02.41ID:B/N5a+DZ
C#使ってる人はなんでこんなにマウンティングしたがるの?
VBに親でも殺されたの?
2016/10/09(日) 18:53:33.65ID:ufk0aci5
>>199
ありがとね
203デフォルトの名無しさん
垢版 |
2016/10/09(日) 19:04:24.18ID:4RubojJS
今のVBはBASICの文法と後方互換性を保ったまま機能を追加しすぎてるから
C#に比べて単純に書きにくいし読みにくい
俺にとっては最も難しいプログラミング言語の一つ
2016/10/09(日) 19:07:05.46ID:qa3paDEf
やたら関数化する人のソースって見づらいよねって言われました
VBだと例えばボタンを押したときの機能は1つの関数にまとめるのが良いのでしょうか?
2016/10/09(日) 19:15:20.40ID:1Q+mN8qo
なんでそんな全か1かなの
2016/10/09(日) 19:51:46.57ID:yh5soZNP
>>201
C#erだけど
Cの系譜じゃないからVB嫌い

読めばだいたい解るけど、
1ヶ月もやると変な癖が付くから解りたくない

でも、.NETのひとくくりで
VB任されたりするから
いち早く死んで欲しいんだ
2016/10/09(日) 19:59:53.11ID:B/N5a+DZ
>>206
VBの仕事断ればいいよ
断れないなら、C#で書いてVBに変換したらいい
あと癖っていうか、それはその言語に慣れてるだけで、別に悪いことじゃない気がするわ
2016/10/09(日) 20:08:34.54ID:cwz+vQn7
>>201
親じゃないけど同僚が1人死んでる
2016/10/09(日) 20:18:58.29ID:yh5soZNP
>>207
出来ないことはないけど
やりたくない

が通用するほど
世の中が甘くないのが悪い

VBが.NETじゃなければ通用するかも知れんけど
不幸なことにVBは.NET
2016/10/09(日) 20:28:42.01ID:7UHrss8Z
相互にトランスパイルする機能とか出来ないんかな
211デフォルトの名無しさん
垢版 |
2016/10/09(日) 21:57:54.02ID:yh5soZNP
VBユーザを引き続き取り込むためにVB.NETは生まれ
その役割は果たしたでしょ
J#と一緒に消えてよかった存在

それをダラダラ延命したせいで
混乱してる

アップル陣営はObject-CとSwift

JAVA陣営はJAVAとScala

なのに.NET陣営はVB.NETとC#とF#

多すぎて.NET陣営は敬遠したくなる

洗練されてないよね
212デフォルトの名無しさん
垢版 |
2016/10/09(日) 22:03:08.35ID:yh5soZNP
Pythonみたいにインデントで書けるなら
VB.NET見直す

ENDとか、このご時世にタイピング多過ぎ
2016/10/09(日) 22:05:50.50ID:yh5soZNP
>>204
COBOLとか1関数に1000行くらい書くよね
2016/10/09(日) 22:06:52.00ID:B/N5a+DZ
ENDなんて自分で書くか?
それより行末のセミコロンのほうが面倒だよ
2016/10/09(日) 22:06:59.03ID:qa3paDEf
記号だと覚えるの面倒じゃん
言語によって記号の意味が微妙に違ったりするしな

記号による混乱といえばC言語のポインタが元祖じゃないかとおもってるけど
最近の言語だって配列が丸カッコと角カッコで違ったりと無駄な暗記力が要求される
2016/10/09(日) 22:08:52.54ID:qa3paDEf
>>213
1関数2000行〜3500行で1ファイル1万行超えとか普通なの?
COBOLは知らないけど事務処理系の言語だから共通してるのかな
2016/10/09(日) 22:14:42.21ID:yh5soZNP
>>215
VBの配列ってカッコ使わないの?

使うなら、他言語するなら
結局無駄な暗記力が要求されるんじゃね?
2016/10/09(日) 22:15:59.00ID:yh5soZNP
>>216
VBの世界に普通なんて無いんじゃね?

VisualStudioが固まりそうだけど
2016/10/09(日) 22:17:33.80ID:yh5soZNP
VBのリプレイスをしましょう!
VB.NETで

この絶望感はキツイ

クライアントが同じような言語だから
簡単前提で話してくる

ここが、VB.NETの害悪だと思ってる
2016/10/09(日) 22:20:28.57ID:B/N5a+DZ
そこは簡単じゃないって訂正するか、別の案をだしたらいいんでは?
言語に限らず馬鹿なクライアントの仕事はろくなもんじゃないよ。金持ってたら別だけど
そんなのと仕事をしなきゃいけない自分の立場を恨むしかないね
2016/10/09(日) 22:23:52.17ID:yh5soZNP
>>220
VBのリプレイスが逆にキツイとか
VB.NETの存在、全否定じゃね?
2016/10/09(日) 22:38:18.64ID:B/N5a+DZ
>>221
そこは人によるでしょ
あなたが簡単にできないってだけの話
2016/10/09(日) 22:46:22.52ID:qa3paDEf
>>218
1万行ぐらいなら余裕で動いてくれるよ
その点はVBすごいって思うよ

>>219
来週からVB6からVB.NETへのリプレース案件やるよ!
しかも客側の担当者はそのアプリを使ったことがない人だよ!!
市販コントロール使ってるからビルドすら出来ないよ!!
2016/10/09(日) 22:50:12.51ID:yh5soZNP
>>222
で、簡単にVB時代のコードを書くんだから
VB.NET使いはバカにされる

時代は関数型言語に入ってるのに
構造化プログラミング止まりだもんな
2016/10/09(日) 22:52:07.63ID:yh5soZNP
>>223
VBリプレース
グレープシティとの合わせ技は
威力抜群だよな

で、WPFとか要求されたら
VB使い死ぬんじゃね?
2016/10/09(日) 22:55:46.79ID:yh5soZNP
VB6のアプリ8画面
一ヶ月でリプレースして

同じVBだから簡単でしょ?

こんな糞案件全力で拒否したかったのに
営業が取ってきやがった!!!
227デフォルトの名無しさん
垢版 |
2016/10/09(日) 23:17:49.10ID:yh5soZNP
VB6のプログラムとか
Windows10でも動くんだから
無理に.NETなんかにしなくて良いだろ

windows終了後に
Scalaで作りゃ良いよ
2016/10/09(日) 23:41:06.10ID:cwz+vQn7
>>226
次の仕事探し始めよっか
2016/10/09(日) 23:43:38.69ID:B/N5a+DZ
>>224
関数型なんて普及しないからどうでもいいよ

質問スレなのに、チラシの裏になってるのは如何なものか
2016/10/10(月) 00:11:48.08ID:lIANkkP8
スレチなのに粘着し続けるなんてVBの人気が悔しくてしょうがないんだねw
2016/10/10(月) 10:14:44.54ID:9h3bSpXM
人気w
2016/10/11(火) 10:58:49.29ID:TGkxV+I0
C#よりVBが優れているところ
  ・関数内でStatic変数が書ける
  ・With 〜 End With
  ・拡張メソッドで、拡張元を参照でき、その内容を書き換えることが可能

VBが残念なんところ
  ・拡張メソッドで、Object型を拡張できない
2016/10/11(火) 19:39:59.09ID:F+19S6qE
VBの残念なところ

i=i+1
2016/10/11(火) 19:52:16.44ID:8lv9/W5a
>>233
ああ、それな
確かに残念だ
2016/10/11(火) 20:47:57.68ID:nLx97S41
>>233
えっ?
2016/10/11(火) 20:57:51.30ID:k359FhBZ
ん?
俺は2008でVB見切り付けてもう使ってないけど、ちょっと前にC#スレで
話題になってたみたいにVBは拡張メソッドでthisを参照で渡せるみたいだから、
IncとかPostIncとか適当な拡張メソッド追加したらC#みたいな感じにできるでしょ

っていうかVBにも加算代入演算子はあるでしょw
2016/10/11(火) 21:19:29.57ID:2RFuKv6f
プログラミングをする中で1を足すっていう行為を行う事はあるの?
2016/10/11(火) 21:22:09.33ID:g3dISoW2
>>233
マジで言ってる?w
2016/10/11(火) 22:10:56.85ID:8+X/d/0Z
インクリメントメソッドあったような
2016/10/12(水) 07:26:04.50ID:sq4lP+Lj
i+=1
みたいなのなかったか
2016/10/12(水) 07:34:22.83ID:uoNvbxNE
素人がインクリメントで
混乱しちゃうから
ポリシーでできない
初学者用として良い思想だと思う

学習用のVB
仕事用のC#
2016/10/12(水) 07:35:57.27ID:u2agc9cE
素人隔離用のVB
初心者用のC#, Java
2016/10/12(水) 07:39:44.75ID:uoNvbxNE
学習用のVBを仕事で使うから
多次元配列配列とか
main関数だけのシステムが
出来あがる

VBは悪くない
2016/10/12(水) 07:40:05.27ID:8gnDT+LU
うん
2016/10/12(水) 07:42:11.23ID:uoNvbxNE
>>242
素人隔離用言語の案件が
.NET全体の半数占めてる異常事態
2016/10/12(水) 20:28:14.05ID:D5cXgAJ8
>>245
わかってて自民選んできたわけだしだししゃあない
既得権益重視の政策じゃITは育たない
2016/10/12(水) 21:18:19.46ID:H4Ck9EdE
素人用のほうが自分がメンテしなくてすむからいいわ
2016/10/12(水) 21:25:37.07ID:85o/Yoqy
VB6以前にあったVariant型って完全撤廃されたけど
C#にはvarっていうのがあるんだね。
一度値を入れると入れた値の型で確定するっぽいけど
これって昔のVB6みたいに配列でも入れられるのかなぁ。
VB6のVariant型はそれこそ何でも突っ込めるユルユルな危険な型だったけど
C#のvarの緩さってどのくらいのもんだろ?
俺の肛門くらいかな。
■ このスレッドは過去ログ倉庫に格納されています
5ちゃんねるの広告が気に入らない場合は、こちらをクリックしてください。

ニューススポーツなんでも実況