「グローバル変数」を含む日記 RSS

はてなキーワード: グローバル変数とは

2017-07-26

今動いているアプリはみんな「元社員の成分」でできている

変な名前グローバル変数とか、

/* なぜか動いている */ とか、

どう考えても順番がおかしファイル出力とか

もう指摘することもできない

見つけるたびに「マジかー」と叫ぶ

2017-06-14

Golang勉強3日目ぐらいで疑問に思っている事

これは将来Golangに慣れて来た頃に読み返すメモです

学習してから3日目ぐらいだけど連続3日でやったとは言っていない。

学習時間は24時間にも満たないと思う。

モチベーションが上がった時に学習する程度。

公式チュートリアルをやってるけどやった箇所は忘れた。

英語版日本語版があるけど日本語版情報が古くないか不安

まだ半分ぐらいしかやってないけど良チュートリアルだと思う。

他のプログラミング言語と違ってチュートリアルの内容が足りないってこともなさそうだし、Golangチュートリアルだけは繰り返しやったほうが良さそう。

からGolangを学ぶならGoogleリポジトリにあるパッケージ管理depを使うほうが安心する。

まだ公式ツールじゃないけど将来なるかもしれないしならないかもしれない。

Googleのことだからgxuiみたいに更新されなくなる危険もあるよな・・・

でもプロジェクト新規作成するときrails new helloに相当するコマンドがないので不便。

スケルトン生成ツールが別途必要だけどフォルダ作るだけだからbatファイル用意するだけで良さそう。

あとGOPATHの設定もか。今のところは手動でやってるけどそのうちbatファイルにしたい。

Golang自体シンプル言語だと思う。

でもやりたいことができないのがつらい。

Rubyみたいにcursesが標準で使えない。

RubyみたいにTKも標準で使えない。

cursesぐらいは標準で出来て欲しいよ。

から他の言語はいらないのにGolangではそんなことでもライブラリを探してきてインストールしないといけない。

開発環境にはGoglandかVimがいい。

Goglandだとそのままでも十分だけどVim場合vim-goを入れるのが良い。

勉強会に参加するときは軽量ノートを持っていくので動作が軽いVimがいい。

でもryzen搭載ノートが来たらIDEに乗り換えるかもしれない。

コマンドラインツールを作るならGolangが一番簡単

cliってライブラリもあるみたいだけど標準機能flagだけで十分便利。

学習3日目でもflagの使い方は楽勝だった。

今の所もあんまりコマンドラインツールに興味ないので難しいことはしない。

とりあえず2ちゃん質問するのが良さそうだけど過疎だった。

過疎ってことはあんまり人気がない?

まだ質問するぐらい基礎的なもの学習してないけど。

やりたいことをぐぐってコピペしてる程度なのでdeferとかgo funcとかグローバル変数とか基礎的な部分はまだ知らない。

インストールが楽だけどWindows作ったらMacでも動くかは謎。

Mac mini買ってから試したい。

でもMacって高いから多分買わないと思う。

MacハードウェアしかMacOSインストールできないライセンスからWindows PCMacインストールできないかapple嫌い。

初心者だけどMac持ってる奴apple信者キモ杉と言わせてくれ

2017-04-11

http://anond.hatelabo.jp/20170410230648

頭の良い奴がプログラミングできない理由3つ

  1. 頭が良いとある程度大きなプログラムも頭の中で描けてしまい、構造プログラミングとかの意味理解できないので、グローバル変数ありきで作ったり、モジュールの切り分け方針おかしくて早晩行き詰まる
  2. 頭が良いとプログラミングなんてIT土方仕事だと1瞬で見抜けるため、さっさと逃げ出す
  3. 頭が良いと金暴力セックスという人生の真理にとっくにたどり着いているため、プログラミングなんかやるわけない

2017-02-26

httphttp://anond.hatelabo.jp/20170226153940anond.hatelabo.jp/20170226153940

言語仕様上、マルチバイト文字変数名に利用できる場合でも、変数名は半角英数字を使う。

グローバル変数はなるべく使わない。

・1関数に100行以上書かない。

主に、PHP使ってる。

2017-01-20

うちの会社プログラマが糞すぎる

できるプログラマもいるのだが、あまりにも糞なやつが多いので吐きださせてもらう。

1.遅刻常習犯

月曜日遅刻率が高すぎる奴がいる

2.ホウレンソウがない

社会人常識だろう。

進捗状況の報告がない。

定義仕様勝手想像して作り、報告しない。

挙げ句、その仕様おかしいと指摘すると不機嫌になる。

定義の時点で、簡単でいいから報告してくれるといいのだが。

3.設計センスがない

せめてDBの初期設計正規化してほしい。

外部キーとか夢のまた夢。

4.プログラムセンスがない

1000行越えのメソッドが大量にあったり、

オブジェクト指向言語なのにほとんどが静的メソッドだったり、

妙なグローバル変数があったり、

コードクローンが大量だったり。

5.テストしない

一度動かせばエラーが出るのにやらない

6.既存コード理解しない

コード意図理解しない。

結果、修正を行うつもりが、壊している。

上司よ。はやくメンバー入れ換えてくれ。

2017-01-09

プログラミングの勘所

プログラミングの入門者には伝統的に変数やif文、for文などが教えられてきました。

昨今ではJavaやってGoogle Play Storeでアプリリリースするのが目標になるのかもしれません。

開発環境は年々高級になっており、以前より人の思考に近い感覚コーディングできるようになってきました。

はいえ、かつてWindowsGUIプログラミングがそうであったように、

スマホにはスマホ流儀があり、いくらアイコン右クリックしたいといってもスマホには右クリック概念が無いという、

今までの常識思考の在り方に対する挑戦も数多くあります

様々な流れに翻弄されつつもプロダクトを開発し世にリリースしていくことは、

プログラマ選択できる使命の一つとして今後も世界中で支持されていくと私は信じています

プログラミングとりまく状況はこの30年で大きく変化したと言えます

それでも基本的な部分は変わりがありません……などというのが通例ですが、

からといって基礎練を素直に続けることが正しいとも思いません。

今の新しい世代の人なら、まずはスマホアプリWebアプリWebサイトを目指すべきでしょう。

ハードウェアに興味があるなら、ラズベリーパイやArdinoを組み合わせても面白いですね。

すると、今とっかかりにすべき言語も絞られてきます

アプリならJavaSwift。(Unityを使うならC#ですね)

Web系ならphp。(ruby on railsもいいかと思います)

(15年前だったらC++でかっこいいwincdowsゲームを作りたい若者で溢れていました)

何かを作るにあたり、まずは1ボタン1機能から始めると良いと思います

ボタンを押したら、何かコマンドを実行する。

それはメール送信だったり、画面に文字を表示したり、ショップではがねのつるぎを購入したりと様々です。

技量が上がると、ボタンを増やしたくなります

ボタンを押すとボタンが増えたり減ったり、違う画面に移ったりしたくなります

途端に難しくなります

それらを整理するためにオブジェクト指向とやらを使わないといけなくなります

バグを出しにくくするための工夫が必要になってきます

何かを作る際に、機能が多くなると、それらを整理する手間が発生します。

グローバル変数はやめようとか、goto禁止というのはそういう活動の一環として生み出されてきたハウツーです。

そして自分の作りたいものは往々にして自分の実力を超えた所にあります

そこで挑戦と葛藤が始まります

幾多の困難を乗り越え、今の自分ならどの程度の規模のものを無理なく作れるかということがわかる場合があります。(わからない場合の方が多いんですけど)

するとあることに気づきます

自由に作りたいものを列挙するのは重要ですが、

最終的に何を作るか、何を作れるかというものを見据えながら、本当に必要機能を選別しないといけないのです。

欲しいものは全ては手に入りません。

全部じゃないと意味が無いなら、即座に全てをあきらめるか、考え方を変えなければ生き残れません。

プログラミングをする上で、夢を実現する技術を学ぶわけですが、

それには、何を実現したいと願うか、何を夢とするか、をコントロールする術も含まれます

そしてそれこそが、プログラミング、ひいては

生きていくために大切な希望を見つけるための技術であると気づかされます

2016-09-06

手続き型で代入ができる言語では、参照透過性があり副作用がないサブルーチンって存在しないんだろうか。

int sum (int n) {
  int i = 0;
  int result = 0;
  while (i <= n) {
    result += i;
    i += 1;
  }
  return result;
}

例えばこんなサブルーチンなら、ローカル変数のiとresultに再代入はするけど、同じ引数で毎回同じ結果になるし、ローカル変数以外には影響を与えない。

条件はおそらくこのくらいでいいはず。

こういうのがコンパイラIDEで検知できれば便利そうなんだけど。

2016-05-25

http://anond.hatelabo.jp/20160525213232

バグがあって、ストリームに変な値が入った時、どこがバグなのか、追跡するのが困難でしょ?

第一に、それは、ストリームFRPの値の定義)の問題であって、ユニットテストすれば良い。もしくは単にFRPログを取れば良い。

グローバル変数ではそういうことはできない。FRPでは、岡部氏のFRPライブラリ特にそうだけど、基本的ミュータブルな値同士が関数リアクティブ連携されて常に整合性を保っているのだからグローバル変数の、各所で更新されたそれぞれの値によって全体の整合性が損なわれないように気を配らなければいけないという(テスト自体困難な)問題は発生しない。それがFRPの唯一とも言えるメリットだとも言える。

使用する関数問題じゃないし、「印」として引数に加えても別に構わないと思うが、君のいうグローバル変数問題と一緒というのはまったく違う。

岡部氏との争いって「OCamlGUIアプリ純粋関数型(状態渡し)で簡潔に書けるか」ってところじゃないよね?

いや、それがそもそもの発端であるブログの経緯には書かれている。説明されている方式GUIアプリまで書けるのか?と疑念が呈されたことがきっかけ。

岡部氏はFRP状態関数の外部に持ってても純粋関数型だ、と言ってて、そこで争ってるんだよね?

この論点は聞いたことがない。岡部氏がこだわっているのは非手続き型の宣言型で、純粋がどうとか議論はされてないように思う。

あと、OCamlGUI状態渡しで書いたら簡潔で無いのを「書けない」、「不可能」って言ってるのはわざと印象操作しようとしてるよね?

原理的に可能かという議論ではなく、実用的な範疇か?という議論。反対派ブログで出てきたコードは、本人が認めるように普通のやり方ではなく、実用的なコードだとは思えない。あと、FRP状態渡しは同じ複雑さだという主張も崩されている。そこが重要

Haskellで書けて、OCaml冗長になっても、書けるなら「書ける」、「可能」だよね?

段階を踏んだ上で、非FRPHaskellのIOモナドコードを誰かが書いたらいんじゃない?当面、最初OCamlの話だったのに、いきなりHaskellやElmのコードで書いて、そういうのがごちゃまぜに、何がどの言語でできるのかできないのか、誤魔化しがあると見做されたか制限されたんでしょ。実際には、OCaml関数型では冗長しか書けないと実証されたけど、そういうのがバレないように、別の言語を利用していたと看破されて当然の状況だと俺は思うね。

俺の書き込み他人といきなり結び付けられたから、電波だな、と思ったの。

俺1人か、とか、らくだや住井が含まれてない根拠とか、関係無いよね。

関係ある。君ひとりは、そうじゃない、と君ひとりが言ってもそれが本当だとは確認のしようがないし、

書き込みをみれば、君以外の書き込みもすべて、その一派ではない、とでも言いたそうだ。

http://anond.hatelabo.jp/20160525202812

否。ストリームに限らず、定数は引数で与えなくても純粋関数である、という見解はごく普通

定数って、プログラム中で更新不可能で、いつ読みだしても同じ値が出てくるからグローバルでも問題無いんだよ。

ストリームは定数だ、って言ってみたところで、プログラム全体から更新可能なんじゃ、グローバル変数と同じでしょ?

バグがあって、ストリームに変な値が入った時、どこがバグなのか、追跡するのが困難でしょ?

なんで伝わらないんだろ。

複数人プログラム開発したり、他人プログラムデバッグしたり、したこと無いんだろうか。

まりGUIになればもはや関数型では書けない、というのが推奨スタイルだ、って言ってるようなもの

純粋関数型」とは何か、という話と、とOCamlでそれが推奨スタイルか、って別の話だよね?

岡部氏との争いって「OCamlGUIアプリ純粋関数型(状態渡し)で簡潔に書けるか」ってところじゃないよね?

純粋関数型とは何かといった時にHaskellのように、IOも含めて引数戻り値表現する、関数のふるまいが関数の外の状態依存しない、関数副作用が伴わないとかの性質をいうと思うんだけど、岡部氏はFRP状態関数の外部に持ってても純粋関数型だ、と言ってて、そこで争ってるんだよね?

あと、OCamlGUI状態渡しで書いたら簡潔で無いのを「書けない」、「不可能」って言ってるのはわざと印象操作しようとしてるよね?

Haskellで書けて、OCaml冗長になっても、書けるなら「書ける」、「可能」だよね?

その発言事実か確かめる術はないし、ここで岡部攻撃しているのは君ひとりなのか?他の人間まで一連の誹謗中傷集団ではない、す駱駝、住井が含まれていないみたいに断言する根拠は何か?

俺の書き込み他人といきなり結び付けられたから、電波だな、と思ったの。

俺1人か、とか、らくだや住井が含まれてない根拠とか、関係無いよね。

http://anond.hatelabo.jp/20160525104221

ストリーム関数の外部に持つFRP純粋関数型っていうのは少数派でしょ。

否。ストリームに限らず、定数は引数で与えなくても純粋関数である、という見解はごく普通

http://stackoverflow.com/questions/37405262/is-this-pure-functional-using-a-value-in-the-nested-closure-like-function/37405374

OCamlの元々の推奨スタイルならもっと短く書けるんでしょ?

まりGUIになればもはや関数型では書けない、というのが推奨スタイルだ、って言ってるようなもので、OCamlベースいくら関数型の講義やっても、最終的にはその関数型でまともなGUIアプリすら書けない、という批判でしょ。その批判岡部からされたら、あたか関数型で書ける、という強弁からまれたのが「状態渡し」理論。それが無理筋だ、ということが今回実証された。

だって駱駝でも住井でもない面識も無い俺の書き込みが住井扱いされるんだもの

その発言事実か確かめる術はないし、ここで岡部攻撃しているのは君ひとりなのか?他の人間まで一連の誹謗中傷集団ではない、す駱駝、住井が含まれていないみたいに断言する根拠は何か?

いやだからグローバル変数使ってるプログラム欠点をそのまま持ってるじゃん

あのね、グローバル変数欠点とは、それが「変数」だからなの。

何度も言うけど、「定数」ならグローバルだろうがなんであろうが、そんな欠点なんてないの。

http://anond.hatelabo.jp/20160524164501

関数型という枠組みの中にミュータブルな時間要素が純粋に収まるようにしているのがFRPだろ。

ストリーム関数の外部に持つFRP純粋関数型っていうのは少数派でしょ。

関数の結果が引数以外で決まるわけだからさ。

多分、純粋とかの定義もまた違うんだろうね。

関数型の拡張」で全部丸く収まると思うんだけど。

いやそもそも岡部氏が複雑なアプリになるとFRP必要

これはGUIアプリ(対話的なアプリ)ってことでいいのかな。

コンパイラだとかをFRPで書かないでしょ。

ユーザから入力リアルタイムに処理するプログラムにはFRP有効だよね。

事実、「駱駝」は「状態渡しはむしろ異常」って書いた上に、

OCamlでは」じゃないの?

全部純粋関数型(引数戻り値に収める、状態渡し)にするのを良しとするHaskellと違って、OCaml副作用部分的に使うのが普通で、IOモナドみたいな入出力までも純粋に書くための道具立てが揃ってない、それでちょっと冗長になる、ってことでしょ?

OCamlの元々の推奨スタイルならもっと短く書けるんでしょ?

俺はそう読んだけど。

それっぽい書き込みほどそうやって、事実誤認だ、と強調するから、なんで当事者でもないのに、そんなことが断言できて、電波だということになるんだ?

だって駱駝でも住井でもない面識も無い俺の書き込みが住井扱いされるんだもの

いやだから、どの関数で読み書きされようと、誰が書き換えようとも、時間にたいしてイミュータブルな定数なんだから、定数は定数なのよ。

いやだからグローバル変数使ってるプログラム欠点をそのまま持ってるじゃん

グローバル変数使ってるプログラム欠点説明する必要ある?

2016-05-24

http://anond.hatelabo.jp/20160524161137

拡張なら「関数型的じゃない」っていわれたら「関数型を拡張してるから」って答えればいいだけの話

関数型という枠組みを拡張しているのではなく、関数型という枠組みの中にミュータブルな時間要素が純粋に収まるようにしているのがFRPだろ。「関数型を拡張してるから」というのは、また独自拡張だ、という批判を許すし、FRP関数型の拡張だというのは誤解を招くし、語弊もある。

FRPの効力を否定なんて誰もしてない(よね)

いやそもそも岡部氏が複雑なアプリになるとFRP必要だ、と批判すると状態渡しで充分だ、という反発があった。それが誤魔化しだとして、今に至るし、否定されているから一連のブログでの徹底的なまでの反撃がなされている。

「これが正しい関数型でお前らの状態渡しは間違ってる」みたいに言うから荒れる

事実、「駱駝」は「状態渡しはむしろ異常」って書いた上に、岡部氏のコードの倍の分量の複雑なコードしか示せなかった。あの無理して書いたのが第三者にもまるわかりの状態渡しの実装って間違ってるんじゃないの?

個人的電波だと思うのはこういう匿名書き込みを住井だ駱駝だ言い出すところ

これまでのアンチ岡部のやり方を眺めていると、被害者岡部氏の分析には一定の信ぴょう性が認められるよね?

しかも、それっぽい書き込みほどそうやって、事実誤認だ、と強調するから、なんで当事者でもないのに、そんなことが断言できて、電波だということになるんだ?という素朴な疑問がある。当事者から否定してるんだろ、と誰が見てもおもうだろ。

ストリームから定数とか、過去の値保存してるから定数とか言ってみたところで、プログラム内の色んな関数から読み書きされる可能性があって誰が書き換えたか中身読まないとわからないんじゃ、グローバル変数使ってるプログラム欠点をそのまま持ってるじゃん

いやだから、どの関数で読み書きされようと、誰が書き換えようとも、時間にたいしてイミュータブルな定数なんだから、定数は定数なのよ。

グローバル変数ってのはFRP関係ないだろ?

http://anond.hatelabo.jp/20160524151555

FRPライブラリサブタイトルに、 library that provides first class reactive value 'over time' と書かれている、これ拡張じゃないのか?

拡張なら「関数型的じゃない」っていわれたら「関数型を拡張してるから」って答えればいいだけの話

すでに出たサンプルからFRPの効力がまざまざと見せつけられている。

FRPの効力を否定なんて誰もしてない(よね)

「これが正しい関数型でお前らの状態渡しは間違ってる」みたいに言うから荒れる

間違っている電波

個人的電波だと思うのはこういう匿名書き込みを住井だ駱駝だ言い出すところ

いやだから、定数なんだから書き換わらないんだよ、FRPストリームconst 定数なんだから

ストリームから定数とか、過去の値保存してるから定数とか言ってみたところで、プログラム内の色んな関数から読み書きされる可能性があって誰が書き換えたか中身読まないとわからないんじゃ、グローバル変数使ってるプログラム欠点をそのまま持ってるじゃん

2016-05-16

http://anond.hatelabo.jp/20160516181416

まず、

1.繰り返しになるが、お前の言う「グローバル変数」とかいイチャモン批判になっていない。なぜなら、サンプルコードでそれがグローバルなのは、単に、マウスイベント、座標と、階層が一層の単純で、一層=グローバルになっているだけ。おまえの初見思い込みを延々と押し付けトンチンカンイチャモンつけるな。

2.ブログ公式サイトにさんざん説明されているとおり、FRPとは時間軸を抽象化したファーストクラスリアクティブ関数ひも付けもので、その実装とDEMOコードがさんざん示されている。その上で、「おれのおもってること違う?」とか、馬鹿駄々こねているようにしかみえないし、「違う」と切り捨てる気にしかならない。

3.FRP変数、定数と、リアクティブな振る舞いはサンプルコードにおいて接続されて実装されているし、自分イベント拾って、とか、そのイベントをあるFRPライブラリがわざわざなんかでラッピングして、無駄に使いにくくしようとも、素のママでかけるFRPライブラリであっても、FRPライブラリはこうであるはずだ、とかいうお前の無知とは無関係

http://anond.hatelabo.jp/20160516174234

FRPって関数型プログラミング+リアクティブプログラミングでしょ?

そんで、リアクティブプログラミングって、

__drawFrom.t = {
        x: e.clientX,
        y: e.clientY
      };

みたいなグローバル変数を書き換えるコード自分で書くんじゃなくて、

この変数とこの入力欄/入力ボタンは結びついてます、って書くだけで、フレームワーク利用者に見えないところで、自動的更新してくれる仕組みだよね?

既存FRPライブラリってそうじゃない?

自分イベント拾ってグローバル変数書き換えてたらFRPじゃないよね?

違う?

http://anond.hatelabo.jp/20160516172607

__hoge.tがグローバルである必要など何もないし、

うん、そうだよね

問題になってるのは岡部氏のプログラム状態グローバル変数にしてて(別にそれ自体問題にするつもりは無いけど)それを関数型の書き方だ、って言ってることだと思ってたんだけど

http://anond.hatelabo.jp/20160516170242

からさあw、その「何らかの状態表現したオブジェクト」ってのが、すなわち

Date.now や __foo.tだ

って話なんだが、わかってきたかい?

わかってきたかい?というか、最初からわかってて、それをグローバル変数で持つの関数型的じゃないよね、という話をしていたのだけど

http://anond.hatelabo.jp/20160516113354

再帰無限なら無限に得られるよね

グローバル変数の一部に代入しておくような手続き的な構造にする必要ないよね

関数パラメータのみから結果を生み出すっていう参照透過な形で実現できるよね

100%不可能机上の空論は聞き飽きたから、コードで示してみな?w

いったいどうやったら「現在時刻」を抽象化したdate.nowやらfoo.t以外で、

その「現在時刻のインデックス引数として」与えて、現在時刻が得られる、お花畑みたいなコードが書けるんだよ?

馬鹿休み休みに言えよ、無能

http://anond.hatelabo.jp/20160516153834

再帰無限なら現在時刻のインデックス引数として無限に得られるよね

グローバル変数の一部に代入しておくような手続き的な構造にする必要ないよね

関数パラメータのみから結果を生み出すっていう参照透過な形で実現できるよね

2016-05-13

イベントリブンの環境プログラミングを覚えた人って

グローバル変数を平気で多用する人が多いね

状態を保持するのにグローバル変数を使わざるをえないから、その変数にどこからでもアクセスしまくるスタイル普通だと思っちゃう

構造化とかオブジェクト指向とか、がっつり勉強してればそうはならないんだろうけど、普通プログラマはそんな勉強しないしね。

2016-01-29

こんなEXCELマクロやばい

・textbox1から100まである。(名前を変えない)

グローバル変数がすべてセルに格納されている。

変数名はrange("c72")とか)

ソースを見ても処理がどうやって動いてるのか分からない。

セルチェンジイベントやformのloadイベントで処理がつながっていた。

(多分関数名でshift +F2とか使ったことがない)

・毎朝、自動で動かしたい→タイマーコントロール時間設定(帰る前に毎日設定。タスクは知らない)

DBデータを1件更新する→全件とってきて全件まわしながらIF文で更新データ判別

業務ロジックはvlookup

マクロを使って、dbからデータをシートに転記して、5回以上ネストしたvlookupやらiserrorやら

index関数がちりばめられたシートで報告書作成印刷マクロ

関数の書いてあるセルしか処理はできない。)

・すべてSUB

ネットからコピペしたfunctionはあるが、自作したfunction多分ない。

値を返すならどっかのセルに突っ込むだけ。

classなんてもってのほか

うちの会社はこんな感じのEXCELマクロによって動いてる。その数、数百本。

2016-01-20

Safari拡張機能で document.write を書き換える

こいつをブロックしたい→http://partsa.nikkei.com/parts/js/ab/rtcontrol_rcmd002_02.js

Safari拡張Chromeのものとほぼ同等なので、Chrome拡張での方法検索

Chrome拡張でページのグローバル変数アクセスしたい https://note.mu/kkotaro0111/n/nd527d31957a7

ビンゴ

location.href = 'javascript: document._write = document.write;' +
	'document.write = function() {};' +
	'void 0;';

バグ修正しましたって言えない

原因らしき1行を削除してビルドしなおしたらバグが消えたっぽいんだけど、

ifやforがネストしている上に条件式に複数グローバル変数が出てきててこれで直ったと言える自信が無い。

この1行を削除した結果他の箇所が壊れたとしても驚かないぞ……。

2016-01-01

Vimプラグインを作るならグローバル変数名を意識しよう

グローバル変数を使う場合変数名の先頭に名前空間をつけよう。

ありきたりな名前を付けると他のプラグインに影響する可能性があるからだ。

ダメ変数名の付け方

let g:age = 20

良い変数名の付け方

let g:namespace#age = 20

名前空間区切りは#でなくてもPHPのPSRで定義されているように_を使っても良いだろう

後は互換性を維持できるよう、よく考えて名前を決めること。

プラグイン利用者は頻繁な仕様変更を望まないからである

jedi.vimやsyntasticなどの著名なプラグインはしっかりとした変数名をつけているので参考になるだろう

アーカイブ ヘルプ
ログイン ユーザー登録
ようこそ ゲスト さん