Toto je první část čtyřdílné série o výzvách pojmenovávání nových funkcí v softwarových aplikacích; zejména o důsledcích, když pojmenování selže. První část série<\/STRONG> se zabývá případem, kdy název nové funkce jasně a stručně popisuje chování této funkce. <\/EM>druhá část série<\/EM><\/A> se zabývá stejným případem, kdy novější funkčnost mění původní chování této nové funkce. <\/EM>třetí část série<\/A><\/EM> se zabývá tím, jak se dokumentace změnila, aby řešila tuto změněnou funkčnost. A nakonec čtvrtá část série<\/A> diskutuje, co to všechno znamená pro koncové uživatele a vývojáře.<\/EM><\/P><\/P>Při rozhodování, jak pojmenovat novou funkci v softwarové aplikaci, obvykle vítězí relativně krátké a relativně popisné názvy. Má to smysl, opravdu, kdo by chtěl sahat do Nápovědy nebo používat super-dekódovací prsten jen proto, aby získal představu o tom, co funkce může nebo nemusí dělat. Existují však rizika při snaze být příliš krátký nebo příliš popisný. První často vede k vynechání důležitých upřesnění nebo drobného tisku a kombinace obojího obvykle uvádí uživatele v omyl, tj. předpokládají, co funkce dělá místo toho, aby to věděli. Pokud samotný akt pojmenování nové funkce nepředstavuje dostatečnou výzvu, zůstat věrný názvu v průběhu času představuje ještě větší výzvu.<\/P><\/P>Tak proč zmiňovat výzvu pojmenovávání nových funkcí a setrvání u těchto názvů v průběhu času? No protože výzva setrvat u názvu se ukázala být příliš velká alespoň pro jednu funkci v ArcGIS a způsob řešení situace se podle mého názoru stal sám o sobě selháním.<\/P><\/P>Kolem doby, kdy Borat cestoval po zemi a učil se o americké kultuře, Esri vydalo ArcGIS 9.2 (ArcGIS for Desktop Product Life Cycle Support Status<\/A>). Je škoda, že nezavítal na Institut při průjezdu Orange Empire, to by stálo za cenu vstupenky samo o sobě. <\/EM>Jednou z nových funkcí představených v ArcGIS 9.2 bylo "in-memory workspace pro zápis dočasných tříd prvků a tabulek," což mohlo "výrazně zlepšit výkon modelů, zejména při zápisu mezilehlých (scratch) dat" (Co je nového v ArcGIS 9.2<\/A>). Není třeba říkat, že jsem měl zájem.<\/P><\/P>Ačkoli nemám screenshoty z té doby, naštěstí má agentura Wayback Data Center stále nainstalovaný ArcGIS 9.2, verzi 1324 navíc! Pojďme vrátit čas a podívat se na in-memory workspace na jeho počátcích.<\/P><\/P>Po spuštění ArcMap mě na chvíli zmátl Příkazový řádek. Okno Python nenahradilo Příkazový řádek až do ArcGIS 9.4, alias ArcGIS 10.0 (Co je nového v ArcGIS 9.4<\/SPAN> - bez odkazu, myslím, že nemohu zveřejnit kopii PDF ani).<\/EM> Po pár minutách znovuobeznámení s Příkazovým řádkem bylo čas pustit se do práce. Protože tento příspěvek je o pojmenovávání funkcí a ne o jejich výkonu, nebudeme potřebovat mnoho příkladů k ověření, zda nový in_memory workspace je skutečně in-memory.<\/P><\/P>Jeden z nejjednodušších příkladů, který mě napadá, je vytvořit novou tabulku in-memory:<\/P><\/P>Pojďme se tedy podívat na kartu Zdroj v Obsahu tabulky:<\/P><\/P>Tady je to, nová tabulka v GPInMemoryWorkspace. Co takhle vytvořit stejnou tabulku znovu:<\/P><\/P>Zatím vše v pořádku. Očekáváme chybu vzhledem k tomu, že tabulka již existuje. Podívejme se na Obsah tabulky poté, co se pokusím smazat in-memory tabulku:<\/P><\/P>Stále jde vše dobře. Příkaz Smazat funguje a in-memory tabulka zmizela.<\/P><\/> Ačkoli nebudu zahlcovat příspěvek dalšími screenshoty, řeknu, že vytváření in-memory tříd prvků dopadlo stejně jako tabulky výše. Také vytváření in-memory tříd prvků a tabulek pomocí ArcToolbox přineslo stejné výsledky jako s Příkazovým řádkem.<\/> Hledaje příklad zahrnující nějaká data jsem načetl třídu prvků obsahující hranice států USA do ArcMap. Jednoduchý příkaz Kopírovat prvky pomocí in_memory by měl fungovat, pokud in-memory workspace fungují tak, jak bylo avizováno.<\/> < P>No tak jsme tu, kopie prvků načtena do in-memory workspace.<\/> < P>Základní příklady výše nejsou definitivním testem, ale ukazují, že od ArcGIS 9.2 mají uživatelé možnost ukládat mezilehlá data in-memory při práci v ArcMap. Celkově bych řekl, že marketroidi měli pravdu. In_memory workspace je skutečně in-memory, alespoň v rámci svého návrhu.<\/> < P>Když přijde na výzvu pojmenování nové funkce, myslím si, že Esri může tvrdit úspěch s 'in_memory'. Název je krátký, popisný a co je nejdůležitější přesný. Otázkou nebo výzvou nyní je, zda 'in_memory' může zůstat věrný své původní funkčnosti i když budou zavedeny ještě novější funkce s následujícími verzemi ArcGIS Desktop.<\/> < /BODY>
<\/P>
Při rozhodování, jak pojmenovat novou funkci v softwarové aplikaci, obvykle vítězí relativně krátké a relativně popisné názvy. Má to smysl, opravdu, kdo by chtěl sahat do Nápovědy nebo používat super-dekódovací prsten jen proto, aby získal představu o tom, co funkce může nebo nemusí dělat. Existují však rizika při snaze být příliš krátký nebo příliš popisný. První často vede k vynechání důležitých upřesnění nebo drobného tisku a kombinace obojího obvykle uvádí uživatele v omyl, tj. předpokládají, co funkce dělá místo toho, aby to věděli. Pokud samotný akt pojmenování nové funkce nepředstavuje dostatečnou výzvu, zůstat věrný názvu v průběhu času představuje ještě větší výzvu.<\/P>
Tak proč zmiňovat výzvu pojmenovávání nových funkcí a setrvání u těchto názvů v průběhu času? No protože výzva setrvat u názvu se ukázala být příliš velká alespoň pro jednu funkci v ArcGIS a způsob řešení situace se podle mého názoru stal sám o sobě selháním.<\/P>
Kolem doby, kdy Borat cestoval po zemi a učil se o americké kultuře, Esri vydalo ArcGIS 9.2 (
Ačkoli nemám screenshoty z té doby, naštěstí má agentura Wayback Data Center stále nainstalovaný ArcGIS 9.2, verzi 1324 navíc! Pojďme vrátit čas a podívat se na in-memory workspace na jeho počátcích.<\/P>
Po spuštění ArcMap mě na chvíli zmátl Příkazový řádek. Okno Python nenahradilo Příkazový řádek až do ArcGIS 9.4, alias ArcGIS 10.0 (Co je nového v ArcGIS 9.4<\/SPAN> - bez odkazu, myslím, že nemohu zveřejnit kopii PDF ani).<\/EM> Po pár minutách znovuobeznámení s Příkazovým řádkem bylo čas pustit se do práce. Protože tento příspěvek je o pojmenovávání funkcí a ne o jejich výkonu, nebudeme potřebovat mnoho příkladů k ověření, zda nový in_memory workspace je skutečně in-memory.<\/P><\/P>Jeden z nejjednodušších příkladů, který mě napadá, je vytvořit novou tabulku in-memory:<\/P><\/P>Pojďme se tedy podívat na kartu Zdroj v Obsahu tabulky:<\/P><\/P>Tady je to, nová tabulka v GPInMemoryWorkspace. Co takhle vytvořit stejnou tabulku znovu:<\/P><\/P>Zatím vše v pořádku. Očekáváme chybu vzhledem k tomu, že tabulka již existuje. Podívejme se na Obsah tabulky poté, co se pokusím smazat in-memory tabulku:<\/P><\/P>Stále jde vše dobře. Příkaz Smazat funguje a in-memory tabulka zmizela.<\/P><\/> Ačkoli nebudu zahlcovat příspěvek dalšími screenshoty, řeknu, že vytváření in-memory tříd prvků dopadlo stejně jako tabulky výše. Také vytváření in-memory tříd prvků a tabulek pomocí ArcToolbox přineslo stejné výsledky jako s Příkazovým řádkem.<\/> Hledaje příklad zahrnující nějaká data jsem načetl třídu prvků obsahující hranice států USA do ArcMap. Jednoduchý příkaz Kopírovat prvky pomocí in_memory by měl fungovat, pokud in-memory workspace fungují tak, jak bylo avizováno.<\/>
I have heard back from Esri Support and Esri Development. I will restrict comments on the first three parts in the series and post final comments with part four of the series: What's in a Name: When Known = Unknown .
I am quite certain in-memory workspaces are here to stay, and I am not advocating for their demise. The question or issue for me is whether in_memory really gets you in-memory, which it doesn't in all cases. When in_memory really means on-disk, the workspace isn't any faster than scratch on disk. The next two blog posts will get into specifics.
I sincerely hope in_memory workspaces are here to stay. Even if you can save only simple tables an feature classes in them, they have been extremely useful. I don't really mind whether they are truly in memory or somewhere else, as long as they are fast and don't leave a trace when deleted.
Přihlášení členové mohou přispívat, sledovat aktualizace a další. Nový zde? Zaregistrujte si bezplatný účet.
Find useful guides, FAQs, and documents to help you navigate and make the most of Esri Community.