■掲示板に戻る■ ■過去ログ倉庫めにゅーに戻る■
ローマ字で関数名を付けるんじゃねぇ
1 名前: デフォルトの名無しさん 投稿日: 2001/05/18(金) 04:28
いっつも思うぜ、何で関数名をローマ字で書くんだよ。
分かりやすいかも知れないけど、最近はインドとか韓国からとか外人も
こっち来て開発してんじゃん。
和英辞書ぐらい片手に、英語表記してくれい。何か恥ずかしい。


ガイシュツ失敬。


2 名前: デフォルトの名無しさん 投稿日: 2001/05/18(金) 04:30
tokuisakiCode


3 名前: デフォルトの名無しさん 投稿日: 2001/05/18(金) 06:27
日本語使える言語に乗り換えて漢字表記使おうぜ。
(MINDとはいわないが)


4 名前: デフォルトの名無しさん 投稿日: 2001/05/18(金) 07:06
中文的表記。中文多人数使用。……(絶対間違。無関係。藁。

>>1
和英辞書じゃ分かりにくい時もあるしねぇ……。
>>3
それはいやん。変換も漢直も手間が掛かり過ぎる。


5 名前: デフォルトの名無しさん 投稿日: 2001/05/18(金) 07:16
英/ローマ字混合で、
tokuisakiCode
よかは、
得意先コード
とした方が良いに決まってる。
そもそもVisualC++で漢字表記できないのが間違ってる。
なんとかしろ。


6 名前: デフォルトの名無しさん 投稿日: 2001/05/18(金) 07:18
昔のx68kのgccは出来たぞ。>5
今のgccはどうなっとるんだ?


7 名前: デフォルトの名無しさん 投稿日: 2001/05/18(金) 11:20
ローマ字いいじゃないですか、まだしも。
関数名を全部「通し番号」にする(つーか、させられる>N社詩ね)よりは
ずっとマシ。

>>6
それってもしかして、超僻地(=日本)的パッチなのでわ?


8 名前: デフォルトの名無しさん 投稿日: 2001/05/18(金) 11:51
>>7
それN○T関連ですね。
私も派遣でいってて愕然とした記憶あり。
あれ考えた奴はさっさとクビになってほしい。


9 名前: デフォルトの名無しさん 投稿日: 2001/05/18(金) 11:54
ローマ字、いいと思うけど。
ここは日本だし、漏れは日本で生まれ育った、日本語ネイティブな日本人なんだから。

それよりも、わけのわからん英語や typo の単語をつけるのはやめてくれ。
そっちの方がずっと恥ずかしい。氏ねって感じ。


10 名前: 投稿日: 2001/05/18(金) 11:58
関数名を英語化→特殊な専門用語の英訳にハマる→類似単語頻出→
原因究明→そもそも仕様がおかしい→つーか客の業務体制がおかしい→
上の問題に発展→ゴタゴタ→英名やめて通し番号にしろとのお達し→死


11 名前: デフォルトの名無しさん 投稿日: 2001/05/18(金) 12:10
>>9
ローマ字で書いてあると、馬鹿に見える。


12 名前: デフォルトの名無しさん 投稿日: 2001/05/18(金) 12:16
>>10
>特殊な専門用語の英訳にハマる→類似単語頻出

変数や関数が皆グローバルなのですか?


13 名前: デフォルトの名無しさん 投稿日: 2001/05/18(金) 12:29
>>1
そもそも和英辞典を引かないと出てこない英単語というのは、暗号そのもの
だと思うけど。
基本的には中学レベルで理解できない英語は、連番と大差ないのでは?

>>11
綴りや用法を間違った英語で書いてあると阿呆に見える。


14 名前: デフォルトの名無しさん 投稿日: 2001/05/18(金) 12:45
プロジェクト内で命名規則、辞書作成とかしないの?
海外に発注した時困らない?


15 名前: デフォルトの名無しさん 投稿日: 2001/05/18(金) 12:57
>>11 >>13
両方とも低能に見える。


16 名前: デフォルトの名無しさん 投稿日: 2001/05/18(金) 13:02
>>14
海外になんか発注しない。


17 名前: 14 投稿日: 2001/05/18(金) 13:13
こんな感じですか?

long GenzaiZandaka;
long GetZandaka();
void KurikoshiSyori();

一般的な会計ならまだしも専門用語の多い業務だと
辞書があってもつらいかもねえ。
(とりあえず俺のCDトレイには英和・和英辞書の電子Bookがいつも載ってるけど)


18 名前: デフォルトの名無しさん 投稿日: 2001/05/18(金) 13:13
>>10
最後から2番目の段階で急に現実感がなくなるんですけど。


19 名前: 14 投稿日: 2001/05/18(金) 13:28
管理番号+ローマ字併用方式

FUNC001_Kurikoshi
GBL002_Znakin
PROC008_SimeSyori

ありそうだ…


20 名前: デフォルトの名無しさん 投稿日: 2001/05/18(金) 15:19
>ローマ字で書いてあると、馬鹿に見える。

一方で、英語で書いてあると馬鹿を隠すという危険性が有るな。
しかもつづり間違いや単語間違い(誤英訳)だったら
馬鹿さと被害が二倍二倍。

ただ、ローマ字自体が間抜けなのは、
日本語みたいに同音異義語多すぎな言語を
表音文字で表そうってのが、無理有るんだよな。
「日本語」で書くなら、(可能ならば)ローマ字より
漢字かな混じりのほうが、有利なのは確か。

ところで、戦後直後のどこぞのドキュ学者みたいに
フランス語で書け!とかいう人って居ないのか?

というか、全世界30億人(?)の非英語圏の連中は
どんなソースを書いているんだろう?
中文なソースとか、イタリアーーーンなソースとか…?
#中華とかイタリアンとか…ウマそう… :-D~~


21 名前: デフォルトの名無しさん 投稿日: 2001/05/18(金) 15:25
フランス語やロシア語は特殊記号多いから駄目。ASCIIコードのみで
かきませう。


22 名前: デフォルトの名無しさん 投稿日: 2001/05/18(金) 16:01
昔、講義で聞いた話だが、
10数年前のプログラマ不足危機って言われた時代のこと
COBOL ではコーディングスタイルとして、
当時の通産省自身が
「変数名はローマ字にしろ。ゴラァ」
って推奨(?)していたことがあった。ら・し・い。
理由は
o COBOL は予約語が多い。変数のつもりが命令(キーワード)になるバグ回避対策
o そもそも日本人は英語が苦手
なんてことらしい。
# 最近、シグ○での規約だったという話も聞いたが真偽はしらん。。。


23 名前: デフォルトの名無しさん 投稿日: 2001/05/18(金) 16:07
昔、アメリカから来たエンジニアがソース見て驚いてたな。
「なんで英語で書いてんの?」
日本語版のソースは日本語で書くものと思っていたらしい。

びゅう太を教えようかと思ったがやめた。


24 名前: デフォルトの名無しさん 投稿日: 2001/05/18(金) 16:16
>>14
一々辞書を引かないと意味が理解できない命名法に疑問を持たない?
そんなのは連番に対応表をつけるのと何ら変わらないと思うけど。


25 名前: デフォルトの名無しさん 投稿日: 2001/05/18(金) 16:20
>>20
同音異義語が多いから漢字かなまじりの方が便利なのは確かだけど、分かち
書きをするだけでかなりましになると思うけど。
昔のファミコンの表示はほとんどそうだったけど、理解できないメッセージ
なんてなかったと思うけど。

ローマ字を使う上で最も間抜けなのは綴り法を混在させているやつ。
せめて標準式に統一して欲しいなあ。


26 名前: デフォルトの名無しさん 投稿日: 2001/05/18(金) 16:34
>一方で、英語で書いてあると馬鹿を隠すという危険性が有るな。
>しかもつづり間違いや単語間違い(誤英訳)だったら
>馬鹿さと被害が二倍二倍。

こういうののことでしょうな。
int DANJYON(void);

dungeonだっちゅーの!


27 名前: デフォルトの名無しさん 投稿日: 2001/05/18(金) 16:43
そんな事を気にしている暇があったら
とっととプログラムを作って早く家に帰りなさい


28 名前: デフォルトの名無しさん 投稿日: 2001/05/18(金) 17:40
>>26
後世にソースを見る人の為のジョークです。


29 名前: デフォルトの名無しさん 投稿日: 2001/05/18(金) 17:47
識別子をローマ字書いてるプログラムを
GPLで公開しようと思ってたのですが
やめたほうがいいですか?


30 名前: デフォルトの名無しさん 投稿日: 2001/05/18(金) 17:57
>>29
全く問題ない


31 名前: 29 投稿日: 2001/05/18(金) 18:03
>>30
問題ないと言っても馬鹿にされたりしませんかね?
全部英語に直したほうがいいですかね?


32 名前: デフォルトの名無しさん 投稿日: 2001/05/18(金) 18:08
COBOLの害は大きい


33 名前: デフォルトの名無しさん 投稿日: 2001/05/18(金) 18:24
>>26
>こういうののことでしょうな。
>int DANJYON(void);

これはローマ字ですらないね。ローマ字ならDANJONかDANZYONだ。


34 名前: デフォルトの名無しさん 投稿日: 2001/05/18(金) 18:43
>>24
同意。
テーブル名はともかくフィールド名だと FLD010,FLD020...とやりたくなる事もある。
今は漢字フィールド名を使っているが。
(これやるとOracle系原理主義者が五月蝿いけど)


35 名前: デフォルトの名無しさん 投稿日: 2001/05/18(金) 18:49
void CNichannel::KansuItteyosi(bool HikisuOmaemona);


36 名前: デフォルトの名無しさん 投稿日: 2001/05/18(金) 19:13
KOUDOはかなり氏ねた…


37 名前: デフォルトの名無しさん 投稿日: 2001/05/18(金) 19:24
>>29
糞コードだからって公開する権利が無くなったり
することは絶対にない。安心していい。

ただし、それと、糞コードを世間の笑い者に
されない権利(?)とは全然一緒じゃないので、心配していい。

>>35
関数とか引数とかの枕詞までローマ字書きされてるのが
ポイント高い。


38 名前: デフォルトの名無しさん 投稿日: 2001/05/18(金) 21:25
なんでローマ字で書こうとする?
ローマ字使うぐらいなら日本語で書け。

typedef struct int 整数型;
#define 終了(戻値) exit(戻値)
#define 酒処理 main
#define 書式出力 printf

整数型 酒処理 {
 書式出力("逝って良し!\n");
 終了(0);
}


39 名前: デフォルトの名無しさん 投稿日: 2001/05/18(金) 21:37
やっぱ漢字がイイヨ。
長ったらしい英語でも、漢字で書くと数文字で表現できる。
抽象とか継承とか代理とか委譲とか・・


40 名前: デフォルトの名無しさん 投稿日: 2001/05/18(金) 21:38
モシ ナラバ ニイケ


41 名前: デフォルトの名無しさん 投稿日: 2001/05/18(金) 21:45
(define 継承 call-with-current-continuation)
(define λ lambda)
(define 適用 apply)
(define 評価 eval)


42 名前: デフォルトの名無しさん 投稿日: 2001/05/18(金) 21:46
継続だった鬱


43 名前: デフォルトの名無しさん 投稿日: 2001/05/18(金) 22:10
型定義 列挙型 {
フタナリ
,男
,女
} 性別;


44 名前: デフォルトの名無しさん 投稿日: 2001/05/18(金) 22:12
今疑問に思ったんですが、フタナリって漢字で書くとなんなんですか?


45 名前: デフォルトの名無しさん 投稿日: 2001/05/18(金) 22:16
腐多那痢


46 名前: デフォルトの名無しさん 投稿日: 2001/05/18(金) 22:17
世路刺久


47 名前: デフォルトの名無しさん 投稿日: 2001/05/18(金) 22:20
紅夜叉


48 名前: デフォルトの名無しさん 投稿日: 2001/05/18(金) 22:21
双哉


49 名前: デフォルトの名無しさん 投稿日: 2001/05/18(金) 22:22
磨羅


50 名前: デフォルトの名無しさん 投稿日: 2001/05/18(金) 22:29
編集機 compiler
翻訳機 translater
解釈機 interpreter


51 名前: あぼ〜ん 投稿日: 2001/05/18(金) 23:00
inisyaraizu();
toranzakusyon();
fainaraizu();
abo_to();
余談だけどATOK14ってカタカナ英語を英単語に変換できるんだね。
ちょっと感激…しても実は余り意味がなかったりする(藁


52 名前: デフォルトの名無しさん 投稿日: 2001/05/18(金) 23:18
珍宝


53 名前: 名無しさん 投稿日: 2001/05/19(土) 00:17
age


54 名前: 名無しさん 投稿日: 2001/05/19(土) 00:17
age


55 名前: 名無しさん 投稿日: 2001/05/19(土) 00:17
age


56 名前: 名無しさん 投稿日: 2001/05/19(土) 00:18
age


57 名前: 名無しさん 投稿日: 2001/05/19(土) 00:18
age


58 名前: lambdaさん 投稿日: 2001/05/19(土) 01:47
Javaは識別子がUnicodeだから日本語でもタイ語でもOKということだが。
実際のところどうなの?


59 名前: デフォルトの名無しさん 投稿日: 2001/05/19(土) 01:58
勘定科目とか原価償却とか金がらみの仕事してると
いちいち辞書なんか引いてられないよ。


60 名前: デフォルトの名無しさん 投稿日: 2001/05/19(土) 02:29
”静的せん断弾性係数”って、英語では何というのだ?


61 名前: 1 投稿日: 2001/05/19(土) 03:42
ローマ字表記は確かに分かりやすい。でもよ、結局は慣れじゃん?

>>19 の例にあるように、一見して記号の羅列でも、プロジェクトの終盤には
絶対慣れるしな。
ま、COBOLの影響大というのは非常によく分かった。っていうか、実感してる。

>>23
ぴゅう太ワラタ そのジンガイに教えれ(W


62 名前: デフォルトの名無しさん 投稿日: 2001/05/19(土) 03:51
だからローマ字は読みにくいってばよ!>1
漢字書けや。
漢字書けねえ言語なんざ、捨てちまえ!


63 名前: デフォルトの名無しさん 投稿日: 2001/05/19(土) 04:36
>>52
同意。


64 名前: デフォルトの名無しさん 投稿日: 2001/05/19(土) 09:59
英語、ローマ字混在の名前にするぐらいなら、
ドキュメントと同じ日本語にしてくれ。
(日本語使えないならプリプロセッサを通せ)
変数名のハンガリアン記法も禁止。pszhogeはやたら激しくキモイ。
凝るんなら型名に凝れ。
先頭大文字表記はウザイ。書くなら'-'または'_'区切りで全部小文字で書け。
全部大文字は論外。書き直せ。


65 名前: デフォルトの名無しさん 投稿日: 2001/05/19(土) 10:33
>>64
海栗っくすやさん?


66 名前: デフォルトの名無しさん 投稿日: 2001/05/19(土) 11:17
>>58 Javaはパッケージ名とクラス名が
それぞれディレクトリ名とクラスファイル名と同じでないといけない仕組みだから、
これらに英数字以外は使えないな。変数名やメソッド名はOKだけど。


67 名前: デフォルトの名無しさん 投稿日: 2001/05/19(土) 12:28
1.GetData
2.get_data
3.getData
4.その他具体的に
お勧めは?


68 名前: 無責任な名無しさん 投稿日: 2001/05/19(土) 13:24
>>67
言語依存


69 名前: デフォルトの名無しさん 投稿日: 2001/05/19(土) 13:29
プログラマ専用英和/和英辞典ってどこかにないかな。
処理内容から名づけた日本語の関数名を機械的に
そこそこ自然な英単語の組み合わせに変換できるようなやつ。


70 名前: デフォルトの名無しさん 投稿日: 2001/05/19(土) 14:06
>>64
ハンガリアン記法。

Win32 だと API で使う構造体のフィールド名なんかが、そもそもハンガリアン記法に
なってるので、合わせて使ってるよ。あと C++ でプログラミングしてる分には、変数名
に型情報を反映させるのは冗長だと思うが、VBScript みたいな

- 型なし
- 構造体が使えん

言語だと、変数名にでも型情報を埋め込まないと、ソースコードの可読性が低すぎ。


71 名前: デフォルトの名無しさん 投稿日: 2001/05/19(土) 14:18
型なし でなくて variant型では


72 名前: デフォルトの名無しさん 投稿日: 2001/05/19(土) 14:26
>>69
カーソル位置の単語を抜き出して、和訳をポップアップ表示するソフトは作れそうな
気がする。需要あるかな?


73 名前: デフォルトの名無しさん 投稿日: 2001/05/19(土) 14:30
>67
5.get-data
'-'が演算子に分断される言語とかでは使えないけど、
使えるなら'_'で区切るよりも見心地が良い。


74 名前: デフォルトの名無しさん 投稿日: 2001/05/19(土) 14:32
>72
そういうソフトは既に存在します。


75 名前: デフォルトの名無しさん 投稿日: 2001/05/19(土) 14:33
>>68
言語依存とした場合に困るのが、
いろんな言語で同一(またはAPI互換)のライブラリを使うとき。
言語によって色んな書き方で移植されると
それはそれでウザイですぞ。


76 名前: デフォルトの名無しさん 投稿日: 2001/05/19(土) 14:38
>>70
dw -> double word
c -> const? char?
lp -> long pointer
lpsz -> char FAR *の'\0'で終る文字列
b -> bool? byte? bit?
読んでると頭痛くなるよ、ほんと。

例)lpszclientname //顧客名
もうわけわからん


77 名前: デフォルトの名無しさん 投稿日: 2001/05/19(土) 14:46
グローバル変数はg_を、メンバ変数はm_を頭につける。(これもハンガリアンていうの?)
それ以外はやらない。


78 名前: デフォルトの名無しさん 投稿日: 2001/05/19(土) 14:47
>>76
賛成。ハンガリアンは全然いけてない書き方だと思う。

ちなみに、OOPみたいに型の名がどんどんどんどん増える世界では
ハンガリアンって無力なんだよな。
object型であることを示すためだけにoなんて接頭文字をつけても
あほくさいだけだし。

型なし言語スレのほうで有ったけど、
型だけ押えてもあんまり嬉しくないと思う。
型が無いってことは、型と型以外の色んなものを
「同じくらいの重要度で」チェックしないとならない、
ということなんだから、型名を頭につけただけでは
安心度は殆ど替わらないと思われ。
どっちかってーと同じ型のxとyのどっちをzに代入するか?を
間違えないことのほうが、重要に思える。なにせそっちのほうが
「なまじ型があってるので」エラー(型なしならランタイムエラー)に
なる可能性が低いんで、恐い。


っていうかコンパイラが刎ねてくれるんだから、
少なくとも強型言語であるCやCを前提としたAPIで
そういうものを使うのは、変。
まぁC文化ならでわの馬鹿キャストされるのを
見越したフールプルーフなのだろうとは思うけど、
それにしてもダサ。馬鹿のほうを退場させるべき。


79 名前: デフォルトの名無しさん 投稿日: 2001/05/19(土) 15:02
>>60
そういう専門用語(材料&機械畑だな)こそ
然るべき教科書見れば一発で答えが書いてあって
対処が簡単な好例だろう?
そんな単語を必要とする人ならば
教科書も持っていないドキュということは無かろう。

英訳どころか日本語レベルですら困るのが、
ある企業の内輪の用語とか、な。
意味が判りにくいどころか、当事者に質問しても
まともな答えが返ってこなくてノリで理解してるだけ
という奴が、しばしば困る。どう困るかってーと、
その用語を仕様に組みこむときに、どう位置付けていいのかが
よく判らなくて、仕様変更のときに思いがけない話(笑)をされる可能性が
ぐんと上がるので。「(誰にでも)判りやすい言葉」はやっぱり重要だよ…


80 名前: デフォルトの名無しさん 投稿日: 2001/05/20(日) 00:22
>>77
発想は同じだからハンガリアンなんじゃないの?
g_ global? generic?
m_ member? method? macro?
これもキモイよ。
公開インターフェースの部分でこういうのがあると萎える。
m_が便利なのってxが外部の変数の時の演算とかで同名が被らない様にする、
m_x = x;
こういう時ぐらい。これだったら。
x = tmpx;とでもした方がマシ。


81 名前: デフォルトの名無しさん 投稿日: 2001/05/20(日) 01:17
ハンガリアンってなにかと思ったぞ。
昔はハンガリー記法の方がメジャーだった。時代も変わったものよのぉ。
http://www.arcpit.co.jp/winapi/api_01/ap010203.htm
http://software.nikkeibp.co.jp/software/yougo/yougo4.html

MSが推奨してた。馬鹿なことを.....と思ったものだ。
関数が多きすぎるから変数宣言が見えないのだよ。
だから変数名に型情報まで入れたのだろう。

ハンガリー記法ってのはプログラム改造でintをlongすると
どうやるのだ?
変数名は全部かえるのか?いや、ごりっぱ。


82 名前: デフォルトの名無しさん 投稿日: 2001/05/20(日) 01:19
ジャンガリアン?


83 名前: デフォルトの名無しさん 投稿日: 2001/05/20(日) 01:48
ベジタリアン


84 名前: 赤毛のアン 投稿日: 2001/05/20(日) 01:52
sage


85 名前: デフォルトの名無しさん 投稿日: 2001/05/20(日) 01:57
トレビアン


86 名前: 生活の知恵 投稿日: 2001/05/20(日) 02:01
>>72,>>74
そーいうソフト立ち上げてると、マウスカーソルを単語の上で遊ばしてた時などに重くてウザイんで、
フリーのテキスト辞書をgrepしている。
選択した文字列をgrepさせるマクロ書いて選択ポップアップメニューに登録するだけで快適。


87 名前: デフォルトの名無しさん 投稿日: 2001/05/20(日) 02:02
ハンガリアン記法は、APIなどの低レベルインターフェースを
定義するときに使うと分かりやすいよー。

>>76
lpszclientname は lpszClientname とやるのが正しい。


88 名前: 生活の知恵 投稿日: 2001/05/20(日) 02:05
ちなみに逆引きも自動対応♥


89 名前: デフォルトの名無しさん 投稿日: 2001/05/20(日) 02:08
単にclientnameでいいじゃん>87
ところで配列とかの名前はどうすんの?
LPSTR ??????clientname[10];
↑こういうの


90 名前: デフォルトの名無しさん 投稿日: 2001/05/20(日) 02:27
>87
lszClientnameなんて書くとバグになるのかな?
目で全部チェックするのかな?
clientnameで良いと思うよ.


91 名前: デフォルトの名無しさん 投稿日: 2001/05/20(日) 03:52
LPがつくと*が付かなくてもポインタになったりするのが気持ち悪い。

FOO foo;
……
foo.bar();

LPFOO foo;
……
foo->bar();

みたいな。


92 名前: デフォルトの名無しさん 投稿日: 2001/05/20(日) 04:58
>>89
lplpClientName
てきとーです

>>91
ハァ?


93 名前: デフォルトの名無しさん 投稿日: 2001/05/20(日) 07:53
組み込み型にしか効果がない。
構造体にしたら付けようが無いし。
WIN32_FIND_DATAやBITMAPFILEHEADERのメンバなんか
デタラメに付けたとしか思えない。
結局ヘッダやヘルプ見るハメになる。
biとかftとか書かれても想像なんてできねーよ!クソが!
なんかムカついてきた!ハンガリアン記法で書いてる奴氏ね!


94 名前: デフォルトの名無しさん 投稿日: 2001/05/20(日) 10:27
ハンガリアン記法って、なんかジジ臭いんですけど。
短い変数名しか付けられなかった時代の名残りだから?


95 名前: デフォルトの名無しさん 投稿日: 2001/05/20(日) 11:20
つーかここ、ローマジについてのスレなんだよね。
別に良いけどさ(w

いまのところ、
ローマ字表記->漢字でかけ
ハンガリアン記法->逝って良し
ってことでいいかな?


96 名前: ジジ 投稿日: 2001/05/20(日) 12:40
>>94変数名短いころのほうがハンガリアン記法ど使えない。
lpszなど4文字も無駄にすることになる。

95>>同意


97 名前: デフォルトの名無しさん 投稿日: 2001/05/20(日) 14:03
>>94
短い名前が必要なら型名すら変数名に付けません。
ハンガリアンどっちつかず。使えない。しね。

あとm_hogehogeもダサすぎ。少なくともそんな変数名を
publicに出しているMFCはしぬよろし。

>>81 最後の段落
まさに。ハンガリアンの致命的最大欠陥はこの一言に凝縮。

>>95
やっぱり漢字を通し番号(笑)に変換するフィルタつーかプリプロセッサを
自作すりゃいいんだよ。勿論プリプロ通した「ソース」を
自分で書く「ソース」と同列に見なしてはいけない。


98 名前: デフォルトの名無しさん 投稿日: 2001/05/20(日) 14:21
>>97
ハンガリアン記法の是非はさておき、型を変えたら変数名を変えるのかという
のは致命的ではないと思う。

型を安易に変える方がはるかに危険。short から int にした場合でも、ビットシ
フト演算などを使っているとオーバーフロー時の意味が全く変わってしまうし、
かなり嫌なバグになりかねん。

俺は、型を変えたら変数名も変えてチェックし直すよ。


99 名前: デフォルトの名無しさん 投稿日: 2001/05/20(日) 14:29
それはハンガリアン記法の害とは関係のない話だろー>98
型変えたらコードチェックするのは同じ。
ハンガリアン記法だと、さらに名前まで変更する必要があり、新たなバグを埋め込みかねない。
怖いねー


100 名前: デフォルトの名無しさん 投稿日: 2001/05/20(日) 14:44
>>98
(常に安全に)変えることが出来るなら、ね。

たとえばこんなの書くの厨房だけど、
ハンガリアン枕詞だけ違って後半が同じ名前という
2つの変数があったら、どうよ?
しかも2つの属してるスコープが違ったりして、一目で
敵(笑)がいることを察することができなかったら、どうよ?

混乱の数を、増やしはしても減らしはしないだろうな、と思う。

まぁ型といっても色々あるしね。
shortとintの差だけが型の差じゃなく、
二重ポインタと一重ポインタの差とか
char*とchar[]の差とか、
言い出したらきりがない感じ。


101 名前: 98 投稿日: 2001/05/20(日) 14:48
俺はハンガリアン記法使ってないって。


102 名前: デフォルトの名無しさん 投稿日: 2001/05/20(日) 14:52
>>97
漢字をプリプロセッサで変換するには賛成。
でも、C/C++の標準規格に完全に合致していればユニバーサル文字に変換すれば
安全だけど、ほとんどの処理系は規格合致ではないのであまりよい変換方法がない。
規格上はマルチバイト文字で定義された識別子をユニバーサル文字にコンパイラが
変換してもいいみたいだけど、そんなのが実現する可能性ってあるのかな?

これが実現すれば、プリプロセスというよりはシフトJISとEUCの間の変換と大して
変わらないレベルの話になるような気もするけど。


103 名前: デフォルトの名無しさん 投稿日: 2001/05/20(日) 15:25
>100
>ハンガリアン枕詞だけ違って後半が同じ名前という
>2つの変数があったら、どうよ?
ゲッ!俺それやってる。考えてみれば確かに嫌だ。
後から型を変更すると大混乱必須だ。


104 名前: デフォルトの名無しさん 投稿日: 2001/05/20(日) 15:34
物理的な型でPrefixをつけるのはどうだろうね。
wHogeHogeとdwHogeHogeの違いって16bitか32bitの違いで
表現できる範囲の違いにそれほど意味があるとは思えない。

cxHogeとxHogeならいいかも、Hogeの横サイズと横位置の違いを
明確にするというのは意味があると思う。

cxWidthとかcyHeightってダサくない?


105 名前: デフォルトの名無しさん 投稿日: 2001/05/20(日) 15:58
>>102
コンパイルエラーとるのがいやだな。
コンパイルエラー時に変換後の名前じゃなくて、
変換前の名前をだす方法があったような...
#pragmaにあったか?

>104 wHogeHogeとdwHogeHogeの違いって16bitか32bitの違い
他のマシンに移植したらどうなるのだろう??
変数名かえるのかな?

ハンガリアン記法マンセー!!ってやつはいるのか??


106 名前: デフォルトの名無しさん 投稿日: 2001/05/20(日) 16:05
>>105
Microsoft


107 名前: デフォルトの名無しさん 投稿日: 2001/05/20(日) 16:21
>>97 >>102
Javaがまさにそれやってるな。utf8じゃなくてUNICODEエスケープだけど。
非JIS文字は単にエラーにすればイイでしょ
あと変換表の非互換性問題は毎度毎度Javaでも問題になるけど
この場合は単に識別子に使えるコードを限定すればOKでは?
非互換で問題になるのはだいたい
\を円マークと対応付けるかバックスラッシュにするかとか
−全角横棒と-マイナスとかの記号類と半角カタカナとかだし。


108 名前: デフォルトの名無しさん 投稿日: 2001/05/20(日) 19:13
vectorやniftyになかったっけ?
日本語のシンボルをプリプロセスするやつ。
まあperlのスクリプトかなんかで簡単にできそうだけど。


109 名前: デフォルトの名無しさん 投稿日: 2001/05/20(日) 19:15
>>102
エラーメッセージの問題は、
日本語シンボルと変換シンボルの対応表も出力させとけば、
そんなに深刻ではないと思う。


110 名前: デフォルトの名無しさん 投稿日: 2001/05/20(日) 21:49
>>104
>cxWidthとかcyHeightってダサくない?
cx cyって何よ?
widthとheightじゃだめなの?


111 名前: デフォルトの名無しさん 投稿日: 2001/05/20(日) 22:02
物理型名をプレフィックスにしなきゃいいじゃん。
独自型名を作ってそれを使うようにすればいい。

ある環境では
typedef unsigned int DWORD;
ある環境では
typedef unsigned long DWORD;
のように、物理的に一致する型にtypedefしてやればいい。

で、DWORD=32bit符号なし整数とか決めて作ってやれば、
移植の際にいちいち型のオーバーフローとか言い出さなくて済む。

一致するような型が無いようなかけ離れた環境に移植することはできないけど、
そんな環境に移植するならそもそも作り直したほうがいいと思われ。


112 名前: 102 投稿日: 2001/05/20(日) 22:09
>>105
コンパイルエラーの対応やデバッガでステップ実行させたりする上で、特に問題はない
と思うよ。プリプロセスを通すやり方なら行番号は維持できるか、#lineで対策できるし、
デバッガも元のソースを読み込むはずだから。ただウォッチ機能とかは少し辛いかもね。

>>107
C/C++もUTF-8じゃなくて確かUTF-16とUCSだったような気がする。円記号その他のマッピ
ングは重要な問題じゃないけど、結局、旧来の識別子用の文字(英数字とアンダスコア)
に変換せざるを得ないので、これが非漢字で付けられた識別子とたまたま合致するような
ことがないとは言い切れないのが重要な問題になる。コンパイル時に-Dオプションとかで
マクロを定義されたり、他の処理系に移植したりということを考慮すると、とても現時点
で手を出せそうにはない。


113 名前: デフォルトの名無しさん 投稿日: 2001/05/20(日) 23:51
デバッカの問題があるか


114 名前: デフォルトの名無しさん 投稿日: 2001/05/21(月) 00:47
>>105
コンパイルエラーメッセージをリダイレクトして
逆変換フィルタを通してから表示したらどうかな?
unix系シェルなら一発で出来そうだし、
そうでなくても簡単なプログラム作れば楽勝かも。

更にunixなら、コンソールデバイスもリダイレクトで小細工すれば
相互変換をやれちゃうかも。
#日本語入力FEPをコンソール小細工で実現する一派があるそうな。
#考えてみたらその手を使えば何でも有りなんだよな、unixだと。

>>111
その辺を、わりと平易なアプローチで、ある程度綺麗にしようと
した試みの一つとして、GtkだかGdkだかのアレがあるようですね。
gpointerとかgintとか使うそうで。


115 名前: デフォルトの名無しさん 投稿日: 2001/05/21(月) 00:57
>>114
gpointerやgintのgはGNUのg?
globalのg?
genericのg?
ガンダムのg!?


116 名前: 1 投稿日: 2001/05/21(月) 02:04
>>62
標準で漢字の変数名なり関数名(セクション名)をサポートしているなら、俺も
すすんで使うところ。
だが、そうではない言語に関しては、捨ててしまえってことか。無理だ。

>>81
そゆときは、「nCnt」みたく、型の内容ではなく、型の属性(ここではnumber=数字)を
意識して命名するのが前提っぽい。あくまでも俺の中では。
ま、これもコーディング規約があればそうするってぐらいかな?


で、だな。当初の問題点は、「ローマ字表記は『恥ずかしい』んだよ!!」っつー事なんで
あって、読みにくいかどーかは問題にしとらんのよ。
みんな原点に返ってみてくれ。


117 名前: デフォルトの名無しさん 投稿日: 2001/05/21(月) 02:08
きみは問題にしてなくても、こっちは大問題だよ。>116


118 名前: デフォルトの名無しさん 投稿日: 2001/05/21(月) 02:11
>>116
たしかに恥ずかしいね。
で、それがどうした?
なお、回答は不要。


119 名前: 減点 投稿日: 2001/05/21(月) 02:13
たとえば
「口座番号チェック」する関数はどういう名前にする?


120 名前: デフォルトの名無しさん 投稿日: 2001/05/21(月) 02:14
TyekkuKouzaBango(int nZinbutuNanbaa);


121 名前: ありきたり 投稿日: 2001/05/21(月) 02:18
CheckAccountNumber();


122 名前: デフォルトの名無しさん 投稿日: 2001/05/21(月) 02:19
チェックの内容による。
IsValidAccountNumberとか。


123 名前: デフォルトの名無しさん 投稿日: 2001/05/21(月) 02:23
1が放置プレイに入った模様


124 名前: もういいよ。。。 投稿日: 2001/05/21(月) 02:29
まあ >>1 のまわりにはローマ字で書く奴が居るって
いうのがウザイっていうだけの単なる愚痴なわけで。
残念ながら俺のまわりには、そういった面白い人は
いない。残念。


125 名前: デフォルトの名無しさん 投稿日: 2001/05/21(月) 02:32
Name の一時的変数として namae にするのはよくやる(^^;

>>119
CheckKouzaID


126 名前: デフォルトの名無しさん 投稿日: 2001/05/21(月) 02:39
>>125一部マンセー
checkKouzaID
なぜにsage嵐なの??sage


127 名前: 1 投稿日: 2001/05/21(月) 03:17
>>123
放置すんな、さびしーだろー(W

>>124
うむ。的を得てるね。でもね、どこ逝ってもそうなんよ。
なんで、俺からすると、そっちの方が特異なケースに思える。俺的には。


128 名前: あそぼ 投稿日: 2001/05/21(月) 03:28
>>1
>>120-126のどれが木の実なの?


129 名前: デフォルトの名無しさん 投稿日: 2001/05/21(月) 03:31
>>127
的を「得」るのも、かなり恥ずかしいと思われ。


130 名前: デフォルトの名無しさん 投稿日: 2001/05/21(月) 04:02
>>128
そだねー。>>121 かな。>>122 のいうように、チェック内容にもよる
けど。
IsValid〜だと、「口座が存在するか?」に絞ってるようなニュアンス
だけど、Check〜だともーちょい大きな括りにもとれる。

どっちを選択するかは、状況次第でしょーな。


>>129
typoです。ATOKなんで警告は出たが、そのまま使用。
まーそーいうなって(W


131 名前: デフォルトの名無しさん 投稿日: 2001/05/21(月) 04:42
間違った言葉でも皆が使えば正しい言葉になっていくよね。
ハッカーしかり、ら抜き言葉しかり。
本来はそれが言語の進化なんだろうけど、昨今はそれをメディアが
規制し始めたから言語の進化はなくなるかもな。


132 名前: デフォルトの名無しさん 投稿日: 2001/05/21(月) 13:08
どっかで見かけた。

> Variable naming conventions give a hint as to scope, not type:
> 変数名にはタイプではなくスコープのヒントになるような接頭文字をつける。
>
> local a (例 aPoint)
> param p (例 pPoint)
> member instance m (例 mPoint)
> static s (例 sPoint)
> exception X (例. XOutOfBounds)
>
> Choose variable names you can read on the phone. Avoid acronyms and abbreviations.
> 変数名は電話で読みあげるような名前を選ぶこと。acronymや省略はさける。


133 名前: デフォルトの名無しさん 投稿日: 2001/05/22(火) 01:08
>>132うーん。説得力ないようにおもわれ。
localにaか?いらないぞ。member instance m???なぜ?
なにより電話で伝えるようなことがあるのか?
かなり昔のはなしとおもわれ。

>>130
気持ちはわからんでもないが、英和辞典引きながら全然違う意味の英語付けてる奴いたぞ。
やめろ!!といってもやめやしない。
会社やめたけど。(W


134 名前: デフォルトの名無しさん 投稿日: 2001/05/22(火) 03:01
>>133
スコープを区別できるようにするってのはいい考えらしいぞ。
Rubyでもそうなってるし。


135 名前: 1再び@毎回ハンドルは変わるかも(W 投稿日: 2001/05/22(火) 05:30
>>132
それって、長いスコープだと大変よね。特に、頭にシステムで規約された
名称付与基準があるととたんに使えなくなったりするかも。

例 構造体「REFinfra」「REFidentification」みたいな感じで


>>133
んじゃ、よかったじゃん(W
ちなみに、その人が実際にやった違う意味の単語の例きぼーん。
想像がつかない・・・。


136 名前: デフォルトの名無しさん 投稿日: 2001/05/22(火) 06:46
>>131
メディアが規制なんかしてるのか?


137 名前: デフォルトの名無しさん 投稿日: 2001/05/22(火) 07:59
>>131
全然関係ないが、誤用の積み重ねが言語進化の牽引車ではないね。
少しは歴史を勉強しなよ。


138 名前: 133 投稿日: 2001/05/22(火) 11:33
>>135
単語どころか実名も晒したいところだがおれが誰なんだかばれてしまう。
業務用のアプリ作ってるんだけど、業務用語ってあるじゃない、日本語特有のやつ。そいつは無理矢理英語にしてた。

そいつが居なくなった後の改造は俺がやるんだから、ちっともよくない。
そいつが辞めたきっかけは俺なんだけど(W


139 名前: 1再び@毎回ハンドルは変わるかも(W 投稿日: 2001/05/22(火) 23:41
んじゃ、本件に関しては締めとくな。

結論:勝手にせぇ


----------------------- 本件のみ終了 -----------------------


140 名前: デフォルトの名無しさん 投稿日: 2001/05/22(火) 23:46
なげやりだなあ・・


141 名前: デフォルトの名無しさん 投稿日: 2001/05/23(水) 01:24
ローマ字の関数名もいやだけど、変数名が女の名前だったのもいやだったなぁ。
昔メンテをしたDOSの某家計簿ソフトですが。
int rena; って最初何の変数かわからなかったヨ。



142 名前: デフォルトの名無しさん 投稿日: 2001/05/23(水) 05:30
オタク系ソフトにありがち


143 名前: デフォルトの名無しさん 投稿日: 2001/05/23(水) 14:08
int haruna;


144 名前: デフォルトの名無しさん 投稿日: 2001/05/23(水) 17:36
int pseudo_haruna;


145 名前: デフォルトの名無しさん 投稿日: 2001/05/23(水) 17:58
>>141
>最初何の変数かわからなかった

というか最後まで何の変数か判らないよねそれ(w
女Objectの変数とかならまだ許せるけど、
そうでもない限り、名は体を表さない変数名なんて…


146 名前: デフォルトの名無しさん 投稿日: 2001/05/23(水) 18:21
int rei_ayanami;


147 名前: 1再び@毎回ハンドルは変わるかも(W 投稿日: 2001/05/24(木) 06:22
つーか、名乗り出ろ(W
おるんだろ、この板に。


148 名前: デフォルトの名無しさん 投稿日: 2001/05/24(木) 08:50
古代エジプト語BASIC


149 名前: デフォルトの名無しさん 投稿日: 2001/05/24(木) 09:35
古代ヘブライ語ベーシックも捨てがたいぞ


150 名前: デフォルトの名無しさん 投稿日: 2001/05/24(木) 10:07
日本語BASICは変数名も縦書きですか?


151 名前: デフォルトの名無しさん 投稿日: 2001/05/24(木) 11:44
>150
 毛筆フォント必須だそうです。


152 名前: 1再び@毎回ハンドルは変わるかも(W 投稿日: 2001/05/25(金) 01:43
>>150
縦は、原稿用紙分しか書けません。


153 名前: デフォルトの名無しさん 投稿日: 2001/05/25(金) 16:17
>>150
ソースファイルに縦書きも横書きもない。
それは、単にエディタの問題。


154 名前: デフォルトの名無しさん 投稿日: 2001/05/25(金) 19:41
>>153
本気で聞いてると思ったの?


155 名前: デフォルトの名無しさん 投稿日: 2001/05/25(金) 23:12
>>154
Yes.


156 名前: デフォルトの名無しさん 投稿日: 2001/05/26(土) 09:38
以前ハンガリー人の書いた英語圏用のアプリを
日本語にローカライズしたことがあったよ。

シンボル名はほぼ英語で書かれていたので助かったが、
一部「これ何語やねん?」ってのがあったな。
(ハンガリー語?)

ソースは複数の人間によってメンテされたようで、
英語で名前定義するヤツとかハンガリー語(?)
で定義するヤツとか、いろんなヤツがいたんだろうな。

ただコメントはほとんど解読不能だった...


157 名前: 名無し 投稿日: 2001/05/27(日) 00:15
えー、ハンガリー表記ってマイノリティーか。
MFC全面で使われてるから普通かと思ったのに。

ところで、型変更ってよくあることなの?


158 名前: デフォルトの名無しさん 投稿日: 2001/05/27(日) 02:18
おれハンガリーと普通のん混在派。
っていっても滅多にハンガリーは使わないけど。
配列一杯使ってて,ほんの少しだけポインタだったりする時に,
勘違いしないようにpとか付けるようにしてる。

char hoge[8];
char foo[8];
char bar[8];
char *pHogehoge;


159 名前: デフォルトの名無しさん 投稿日: 2001/05/28(月) 03:26
>>157
Win16:
LONG FAR PASCAL MainWndProc(HWND hWnd, unsigned message, WORD wParam, LONG lParam)
Win32:
LRESULT CALLBACK MainWndProc(HWND hWnd, UINT message, UINT wParam, LONG lParam)

Win32 でも wParam の名称は残っているので w より WORD(16bit) を
連想したくなりますが、ご存知のとおり UINT(32bit)です。
で、「ナゼー」になるわけです。

現在では UINT/LONG でなく、WPARAM/LPARAM になっとるようですが。


160 名前: デフォルトの名無しさん 投稿日: 2001/05/28(月) 03:34
うんうん、間違えそう。勘弁してくれよ。>wParam
つーか、wParamのWってWORDの事だったのか・・
知らんかった。WindowのWか?と。只の記号?
ひょっとしてLRESULTのLはLONGですか、って思ったらそうなのか。
まあtypedefされた型名は許そう・・。
hWndもヤなネーミングだなあ・・
もともと頭が大文字の変数名って嫌いなんだけど


161 名前: デフォルトの名無しさん 投稿日: 2001/05/28(月) 03:50
>>159
なんで Win32 に移行するときに wParam の変数名を変更しなかったんだ
ろう。64bit 化をにらんで WPARAM, LPARAM を typedef して、それぞれ
のプリフィクスを w, l にした、ということなんだろうか。

ハンガリー記法とは直接は関係ないけど、私の場合は慣用的に名前が
決まってる変数がいくつかある。カウンタの i, j や文字列の s に加えて、
Win32 でプログラムを書いてるときには、次のような変数名もほぼ固定。

HWND hWnd
HWND *pWnd
HDC hDC
HDC *pDC
PAINTSTRUCT ps
SCROLLINFO si
TEXTMETRIC tm
LPARAM lParam
WPARAM wParam
IUnknown *pUnk
HRESULT hr

探せば、まだまだあると思うが。


162 名前: デフォルトの名無しさん 投稿日: 2001/05/28(月) 04:17
HANDLE HWND => h WPARAM => w LPARAM => l
でいいじゃん。
どうせh/w/lなんて他で使わないし。


163 名前: デフォルトの名無しさん 投稿日: 2001/05/28(月) 15:26
>>100
>ハンガリアン枕詞だけ違って後半が同じ名前という
>2つの変数があったら、どうよ?
>しかも2つの属してるスコープが違ったりして、一目で
>敵(笑)がいることを察することができなかったら、どうよ?
グローバル変数増やし過ぎと思われ(藁
厨房?それとも言語仕様が終わってるの?
なぜCでグローバル変数を減らすように言われるか知ってる?>>100

個人的にはハンガリアン派だな漏れは。
メンバ変数にはm_
グローバルにはg_
を付ければ良い。
管理能力を超えるほどのクソ多い
グローバル変数を使うドキュソはあぼーんですな。


164 名前: デフォルトの名無しさん 投稿日: 2001/05/28(月) 17:09
>>161
>なんで Win32 に移行するときに wParam の変数名を変更しなかったんだ

windowsx.h の HANDLE_MSG マクロが動かんようになるからでわ?


165 名前: デフォルトの名無しさん 投稿日: 2001/05/28(月) 19:12
>>163 名前:デフォルトの名無しさん投稿日:2001/05/28(月) 15:26
>> しかも2つの属してるスコープが違ったりして、一目で
>グローバル変数増やし過ぎと思われ(藁

>なぜCでグローバル変数を減らすように言われるか知ってる?>>100

「スコープが違」とまで書いてるのに、
なんでグローバル変数の話だと決め付けるの?


166 名前: デフォルトの名無しさん 投稿日: 2001/05/29(火) 00:25
ふぁーあ