日々迷走

yan note

ホーム 連絡をする 同期する ( RSS 2.0 ) Login
投稿数  9  : 記事  0  : コメント  189  : トラックバック  3

書庫

日記カテゴリ

現在、次の開発の開発規約を作成しています。
開発規約の8割は自由に作成できます。
けれど私に最終決定権はありません。

例えば、
「使用する変数はメソッドの先頭で定義する」とあった規約を
「変数は最小のスコープとなるよう使用する直前で定義する」と変えました。
今では一般的だと思われるのですが、最終決定者がOKをなかなか出さず何度も闘いました。
幸いにもこの件に関しては勝利を掴むことが出来ました。

けれど、何度闘っても「ハンガリアン記法」が倒せません。
日を変え、作戦を変え何度闘ってもダメです。惨敗です。

「すべてのクラスのプレフィックスを定義する事は出来ませんよ。」
→「よく使うクラスだけでいいよ。後はその都度聞いてくれたらいい。」

「IDEで型はわかるじゃないですか。ハンガリアン記法って何のメリットもありませんよ!」
→「テキストエディタで見ることもあるから。」

「あなたには解りやすいかもしれませんが、他の人がそうとは限らない。」
→プログラム暦が浅い人に「プレフィックス付いてる方が解りやすいよね?」と同意を求め「はぁ」と返事されたことで
「ほら他にも解りやすい人がいるでしょ」と来る。

「今時ハンガリアン記法って恥ずかしいですよ~(pgr」
→「他の開発規約は君の意見を聞き入れて自由に作らせてあげている。
俺が解りやすいし、俺が付けろと言ってるんだから付けろっ!!」と来た。

最終兵器「俺様がルール」を言われたらもう従うしかないです。
でも「俺が理解しやすい」=「他の人も理解しやすい」と思っているところが気に入りません。

一緒に開発する事になる方に申し訳ないです。ゴメンナサイ。

投稿日時 : 2008年2月12日 10:38

コメント

# re: ハンガリアン記法が倒せない。 2008/02/12 11:22 ゆーち
少なくともメンバー変数に対して何かをつけるのは、あちきは大反対です。
オブジェクト指向の大原則からはずれていると思います。

あちきは「人」ってクラスに属するオブジェクトなので、「住所」とか「名前」があるわけです。
「m住所」「m名前」じゃありまっせん。つか、激しくミョ~ですよね!

プロセス指向が抜けない人ほどハンガリアン表記大好きなのではないかと、差別的な意識を持っていますw

でも・・・。

「俺様」を説得できる自信は全くありませんゼw


# re: ハンガリアン記法が倒せない。 2008/02/12 11:43 はつね
私は↓で一気に乗り換えました。説得はしていません(笑)。

.NETになってMS推奨の命名規約も変わったらです。
http://msdn2.microsoft.com/ja-jp/library/ms229043(VS.80).aspx

# re: ハンガリアン記法が倒せない。 2008/02/12 11:48 まどか
とりあえず、
inCount と strId

それぞれ、Long、Enum へ型のみをリファクタリングしたあとどうなるかを言ってみるとか。


# re: ハンガリアン記法が倒せない。 2008/02/12 12:00 恣意の
>IDEで型はわかるじゃないですか。ハンガリアン記法って何のメリットもありませんよ!
>→「テキストエディタで見ることもあるから。」

基本的にテキストエディタ上でしかコードを弄らない私としては
最小スコープで変数を使用していて、その型がわからないとか理解できない

一画面に納まらないほど処理が長いのかしらん?
そうすると、ハンガリアン記法以前のお話になるような気がする

# あ、でもメンバ変数だけには、お尻に"_"を付けるわ(w


# re: ハンガリアン記法が倒せない。 2008/02/12 12:04 R・田中一郎
「今時xxxxって恥ずかしいですよ~」
xxxx = 自分が正しい、良いと思っていること

これはさすがに怒りますって^^;


# re: ハンガリアン記法が倒せない。 2008/02/12 12:08 アキラ
一般的にハンガリアン記法が嫌われているとわかる記事(サイト)を紹介するとか
MSがもう推奨していないとか

語りつくされた議論の内容を見せたほうが早いと思います

# re: ハンガリアン記法が倒せない。 2008/02/12 12:56 黒龍
for(int intI = 0 ;intI < 10 ; intI++) { ... }
って書いたら「やりすぎです。常識で考えてください」って言われたことあります。
私にとってハンガリアン記法は非常識ですっていってやりましたが。

# re: ハンガリアン記法が倒せない。 2008/02/12 13:10 アキラ
ハンガリアン記法でfor文のインデックス変数使うならこんな感じですね(うちは一番上)

for (int nIdx = 0; ...
for (int iIdx = 0; ...
for (int i = 0; ...

# re: ハンガリアン記法が倒せない。 2008/02/12 13:13 R・田中一郎
この際だから、アプリケーションハンガリアンを使ってみるとか。

# re: ハンガリアン記法が倒せない。 2008/02/12 13:14 R・田中一郎
この際だから、アプリケーションハンガリアンを使ってみるとか。

# re: ハンガリアン記法が倒せない。 2008/02/12 13:38 επιστημη
ハンガリアンは嫌いです。
百歩譲って"意味を表すハンガリアン"は許す。
"型を表すハンガリア"は勘弁しやがれください。


# re: ハンガリアン記法が倒せない。 2008/02/12 14:02 ながせ
わたしもハンガリー記法大嫌いです。
ソースに nTempとか見ると軽くコロシたくなります。
グローバル変数みたいなのはokですが。

# re: ハンガリアン記法が倒せない。 2008/02/12 14:24 yan
>ゆーちさん
私もこれ以上俺様を説得できません。もう疲れた・・・

>はつねさん
もちろんMS推奨でないことも伝えました。
MSの回し者呼ばわりされました。

>まどかさん
型変換が発生した場合は、一括置換で対応できるだろうということでした。

>恣意の さん
「俺様」の書くコードは長いですよ~。1画面に収まらないです。
1つのメソッドで値の取得、状態変更なんでも行います。
「俺様」コードの保守は「担当外です」と拒否してます。

>R・田中一郎 さん
「俺様ルール」本当に酷いですよ!!
最上位のメソッド(=トリガ)はTry~CatchでExceptionの内容をメッセージボックスで表示し
下位のすべてのメソッドでThrowするだけのTry~Catchを書けとか言いやがります。
理由は例外が発生したら下位のThrowで止まるのでデバッグしやすいらしい。
pgr pgr! プゲラ~!!

>アキラさん
もちろんその手は使いました。

ループカウンタは
ii、jj、kkをこの順で使います。
ii、jj、kkを使用しない場合はiCnt、iIdx等と書きます。
なぜ「i」を2回重ねないといけないのですか?と質問したところ
「i」で検索するとたくさんヒットするが「ii」だとあまりヒットしないのでコードを追いやすいらしいです。
どんだけ長いループ使うんだよ~!!

# re: ハンガリアン記法が倒せない。 2008/02/12 14:26 まさる
私はDataSetにdsHogeってつけるのは許容範囲です。
DataTableがdtHoge、DataRowがdrHoge、StringBuilderがsbHogeとかも。

ただ、nHoge、strHogeとかはムリだなぁ。

>アプリケーションハンガリアン
実際あんまり使うところ無いんですよねぇ・・・

# re: ハンガリアン記法が倒せない。 2008/02/12 14:45 Chuki
ゴメンナサイ、ゴメンナサイ。

いまだにVBScript書くときは
nArg0 = CInt(WScript.Arguments(0))

とか書いてます。

気がついたら、同じミスばかり(ry
だって、いつも文字列と数値比較して落ちるんだもんo...rz



# re: ハンガリアン記法が倒せない。 2008/02/12 17:14 Hirotow
個人的にハンガリアン大好きです。
Windows.Formsでコントロール変数の接頭辞が無かったら泣けてきませんか?
テキストボックスのコントロールがtxtFileNameなのとfileNameTextBoxなのではどっちがいいですか?
メニューアイテムがmmiOpenFileなのとファイルを開くOToolStripMenuItemなのではどっちがいいですか?(話のすり替え)
IntelliSenseとの親和性が無駄に高いので使い易いんです。
ちなみにプロパティは命名規則に従ってIsとかCanを除いては使いません。

# ハンガリアンについてつれづれ 2008/02/12 18:36 へぼろっぱぁ
ハンガリアンについてつれづれ

# ハンガリアンについてつれづれ 2008/02/12 18:37 へぼろっぱぁ
ハンガリアンについてつれづれ

# re: ハンガリアン記法が倒せない。 2008/02/12 20:39 はつね
> もちろんMS推奨でないことも伝えました。
> MSの回し者呼ばわりされました。

いや、それハンガリアンもそうですからwww


# ハンガリアン記法って何だ? 2008/02/12 22:13 Out of Memory
ハンガリアン記法って何だ?

# re: ハンガリアン記法が倒せない. 2008/02/20 16:02 玉兎
R・田中一郎 さんも言っているが,
アプリケーションハンガリアンを使え,ということでここを紹介.

http://local.joelonsoftware.com/mediawiki/index.php/間違ったコードは間違って見えるようにする

システムハンガリアンでなければ有用でしょうし.

# re: ハンガリアン記法が倒せない。 2008/03/23 4:27 ハンガリアーナ
ハンガリアンな私がきましたよ。

すべてのクラスのプレフィックスを定義する事は出来ませんよ。」
→クラスにプレフィックスを定義するなんて・・・(唖然)
 この最終決定者はいただけないですね。

「IDEで型はわかるじゃないですか。ハンガリアン記法って何のメリットもありませんよ!」
→私はIDEにいちいちカーソル持って行くのが面倒です。
 あとハンガリアン記法にはものすごいメリットがあります。

「あなたには解りやすいかもしれませんが、他の人がそうとは限らない。」
→ソースコードなんて他人が書いたものはみんな分かりにくいですよ。

「今時ハンガリアン記法って恥ずかしいですよ~(pgr」
→プログラムに時流は関係なく、速度・保守性・機能性・etcが重要なので、これで説得させようとするのは無茶かと。

「俺が理解しやすい」=「他の人も理解しやすい」と思っているところが気に入りません。
→私もそんな人は気に入りませんねえ。
 開発チーム全体を考えて決定してほしいものです。

yanさんはハンガリアン記法をもう少し調べた方が良いかと。
ただの食わず嫌いに見えますし。
確かにシステムハンガリアンはメリット無くてやるだけ無駄ですけどね。


# re: ハンガリアン記法が倒せない。 2011/05/10 12:05 meme
NUnit を普及させてみては、どうでしょうか?

その人は、以下の以下のような、理由が存在するからハンガリアンを抜けだせないのではないでしょうか?
-> 1つの関数のコード量が多い
--> スコープ内に変数が大量に存在する。
---> わからなくなるので、グループ分けが必要になる。
----> ハンガリアン

NUnit を普及させ、関数単位に全ルートテスト(if 文が3つあれば、ルート数は、2^3=8ルート)をさせるのです。
当然、関数内の分岐が多いと、テスト不可能なほどのルートになってしまい、その人は破綻するでしょう。
「テストしきれないよ」には、 「それは、あなたの組み方が悪いのです。」と答えてください。

NUnit を使用するにあたって、 ビジネス・ロジックとビューのコードの分離は徹底してください。
自分は、ビジネスロジックには Unit テストで使用し、ビューのテストは Excel で単体テスト項目書を作成し、テストしています。
ビューのテストに NUnit を使用しないのは、人の操作を プログラムで完全に再現できない事と、テストパターンが複雑だからです。

自分は、ハンガリアンは否定派ですが、言語と場所によっては使用を認めます。
今、思いつくのは、以下のような感じです。
・VBScript には、ハンガリアンを使用します。
→ すべてが Variant 変数であり、変数を数値として使用するのか文字列として使用するのかをデータ型から判別できないからです。
・VBA, VB には、ハンガリアンを使用します。
→ 変数名が予約語とぶつかりやすく、ぶつかった場合、不可解な実行時エラーとなるからです。
  決まったプレフィックスを付ける事でも、防ぐことはできるのですが、その記法は少数意見なので、ここはハンガリアンで我慢します。
・Delphi は、コントロール(ビューの部品)にのみ、ハンガリアンを使用します。
→ コントロールは、変数を同スコープに大量に定義する為、名前定義に困るからです。
  サフィックス(XXXXLabel, XXXXTextBox)は、インテリセンス機能でリストアップする時に探すのに不便です。

ハンガリアンではないのですが、以下の理由もあげておきます。
・すべての言語のメンバ変数(インスタンス変数)には、"m_" または "_" などのプレフィックスを付ける。
→ これは、static 変数、メンバ変数、プロパティのの見分けが瞬時に出来ない事と、タイプミス(大文字・小文字)によるコーディング時のバグ発生頻度を抑える為です。

その他のハンガリアン記法に、どんなメリット(*1)があるのでしょうか?私にはデメリットしか思いつきません。

(*1) 意味では無く、メリットです。「データ型が定義を判別できる」だけでは駄目です。

------------------------------------------------------------
いつのまにか、「システムハンガリアン」なんて、言葉が出来たのですね。
http://ja.wikipedia.org/wiki/ハンガリアン記法


# re: ハンガリアン記法が倒せない。 2012/09/05 19:47 pmint
例えばWebアプリでHTMLエスケープ済みの文字列に適当な接頭辞を付ける。
レスポンスに載せられるのはその接頭辞付きの文字列だけ。でなければXSSの恐れ。

これをアサーションにすると、前述の接頭辞付き文字列には & < > " が含まれない、となる。
この文字列が引数か戻り値になっているなら単体テストコードにもできる。

というのがハンガリアン。
クラス名(型名)と重複したり修正の二度手間になるようなのは元から誤りなので今さらハンガリアンとは呼べない。

# re: ハンガリアン記法が倒せない。 2014/05/17 14:08 大和
システムハンガリアンはさすがに現代じゃ無駄な手法だけど,
アプリケーションハンガリアンは有用でしょ。

この投稿者みたいな学生時代イジメられてたような性格した人ってほんとSIerには多いわな。
自分の主張だけ押し通してもそりゃ通らんよ。

# pptkin@i.softbank.jp 2017/07/31 4:36 コピーブランド
ブランドスマホケース/カバー激安通販ショップ
ご来店いただき誠にありがとうございます。
当店では「信頼第一、サービス第一」をモットーに、お客様第一主義で営業しております。取扱商品としては、iPhoneスマホケース、iPadケース、SAMSUNG GALAXY スマホケース、バッテリー&充電器や、関係する物などです。皆様のニーズにお応えすべく各種製品を取り揃えております。
ごゆっくりお買い物をお楽しみください。皆様のお求めになりたい商品がきっと見つかります。
休業日: 365天受付年中無休

# VPYfgtsoMcZjKe 2021/07/03 1:45 https://interestpin.com/pin/483144/
navigate to this website How do I put rss feeds on a classic blogger template?

# OoawNKpsBLTrnF 2021/07/03 4:43 https://www.blogger.com/profile/060647091882378654
Just Browsing While I was surfing yesterday I noticed a great article about

# tadalafil cheep 2021/11/11 13:59 Lasix
need isotretinoin isotret best website overseas

# rgnlyqhmyygh 2022/06/02 12:21 lfahxgbd
https://erythromycin1m.com/# uses for erythromycin ophthalmic ointment

# how to cure arthritis pain affordable health insurance SMF 2022/06/04 12:29 puk31c
https://azithromycinfest.com/ azithromycin pills 250 mg

# doct what modalities do occupational suggest to waiter with arthritis disease phpBB 2022/07/05 17:21 sildenafil 20 mg dosage instructions
https://sildenafiluis.com sildenafil from india

# free mens health magazine best doctors in america 2015 2016 2022/07/07 8:39 lasix side effects in elderly
https://furosemide.sbs lasix

# tav77dizsvtsostk14 2022/07/18 0:40 stromectol 3 mg
ivermectin for sale https://stromectoltb.com ivermectin 3 mg

# how does cbd help arthritis websites for doctors 2022/07/19 16:06 how much lasix can you take daily
https://furosemide.beauty furosemide 20 mg

# affordable care act information what is genesis healthcare phpBB 2022/07/21 3:12 stromectol lotion price
ivermectin tablets for sale https://stromectoltb.com

# obese health risks which of the following ergogenic aids have been supported by scientific evidence? phpBB 2022/07/25 22:02 ivermectin for humans for sale
https://hygroton.net

# trumps health care reform plan for medi-cal recipients dr physician Joomla 2022/07/29 17:06 hygroton.net
hygroton https://hygroton.net

# what are best foods for a man with hiv female general practitioner near me 2022/08/01 8:17 furosemide.beauty
https://furosemide.beauty furosemide 40 mg tablet

# which of the following is not one of the central characteristics of strategic health communication? local doctor near me 2022/08/07 9:00 ventolin hfa
new asthma medications https://ventolinotc.com

# dr w how does coffee affect blood pressure WordPress 2022/08/07 12:36 inhalers for asthma and copd
walmart ventolin inhaler price https://albuterol.bond

# vkdv95isiobkpic55p 2022/08/23 10:18 ivermectin paste 1.87% for humans
https://stromectolgl.com ivermectin warnings

# which are better hearing aids costco or sams in 2018 how to become a physician WordPress 2022/09/02 4:09 does ivermectin kill parasites for good?
antabuse cost of oral ivermectin https://stromectoltb.com

# fupqhvntqmdjj vdsprozhza79 2022/09/12 13:51 ventolinof.com
what is ventolin hfa aer https://ventolinof.com

# wreh60tnne00 depmgggfeqvm 2022/09/19 15:38 salbutamol dosage
inhalers for asthma https://ventolinrx.com

# wayne county health department/michigan precum hiv less infectious WordPress 2022/09/21 11:43 stromectoltb.com
can you buy ivermectin over the counter https://stromectoltb.com

# Pills bumf exchange for patients. What side effects? xlirib 2022/12/19 19:35 budesonideinhaler.com
How often can you take albuterol?
https://budesonideinhaler.com budesonide inhaler side effects

# Many thanks! I like it! esix63 2022/12/22 5:15 www.flagylpls.com
How do you know if a woman is beautiful without?
https://flagylpls.com flagyl 500 mg tablet price

# Pills tidings leaflet. Long-Term Effects. eawiuf 2022/12/29 1:11 www.avodart.beauty
Drug information for patients https://avodart.beauty/ how much is avodart Pre-eminent message far medication. Gross here.

# re: ハンガリアン記法が倒せない。 2023/01/31 12:30 토토사이트
I came here because my friends recommended me how good this article is. There is priceless information that I have found. I will also recommend to my relationship. https://totomargin.com


# re: ハンガリアン記法が倒せない。 2023/04/08 18:30 토지노
My programmer is trying to convince me to move to .net from . I have always disliked the idea because of the expenses. But he's tryiong none the less.
せな https://tojino.io/


# re: ハンガリアン記法が倒せない。 2023/04/18 16:14 메이저사이트
Your info is really good. I want to share this great topic so that not only me but many others can know about it. I want to study more and understand more.?????? https://totomeoktwiblog.com/



# buy fildena 100mg sale Stay up-to-date on the latest trends in medication for melanoma. Get now. 2023/06/23 5:17 fildena
https://fildena.tech/ buy fildena 50mg

# buy sildenafil sale Discover new approaches to treating migraines with medication. Get information now. 2023/06/25 14:14 fildena
https://www.fildena.website/

# Meds prescribing information. Short-Term Effects. plaquenil 400mg 2023/07/07 18:01 stromectolhome.com
What are signs of syphilis in a woman https://stromectool.com/ ivermectin 3mg

Post Feedback

タイトル
名前
Url:
コメント