→Useful libraries and techniques: outline/stub |
|||
| (4 intermediate revisions by the same user not shown) | |||
| Line 74: | Line 74: | ||
===EVE-specific stuff=== | ===EVE-specific stuff=== | ||
Here's where experienced programmers can listen in. | |||
Outline: | |||
* The EVE API. API keys. Connecting to the API, getting useful information, making sense of it all. | |||
** Practice: collating all assets owned everywhere. | |||
* The Reverence cache library. What's in the cache? ZOMG so much stuff; discovering what's there, making sense of it all. | |||
** Practice: collating all the cached market data from Jita 4-4. | |||
* The EVE-Central API. | |||
** Practice: calculating a character's total net worth. | |||
** Practice: using data from EVE-Central and the cache, put together an accurate picture of mineral prices in major trade hubs. | |||
* The static data dump. Getting the static data dump. What's in the static data dump? ZOMG so much stuff; making sense of it all. | |||
** Practice: calculating the shortest route from Jita to Aldrat. | |||
** Practice: calculating a bill of materials for T1 and T2 items; there are subtleties particularly in the T2 calculation that will become important. | |||
===Software engineering: design and implementation=== | ===Software engineering: design and implementation=== | ||
Outline: | |||
* It all starts with an idea. Putting together a design document, functional specification from the requirements. | |||
* Outlining the code. Iterating on the outline. Details are good; the objective is to break the project into pieces smaller than your own head. | |||
* Implementation. Writing up and documenting code. Coding style, documentation style. | |||
* Testing. Testing. More testing. Debugging: one of those things that's so hard to teach, but that doesn't mean we can't try. | |||
* Code reusability; a.k.a. "Why spend all this effort on writing 'good' code anyway?" | |||
===Putting it all together: problem solving=== | ===Putting it all together: problem solving=== | ||
Largely a worked example. | |||
Problem: I used to be a T2 industrialist. One of a T2 industrialist's worst nightmares is putting together a shopping list. T2 invention is inherently chance-based, so you never know how many of what types of product you'll need to order reagents for in advance. With the large variety of T2 item types and T2 reagent types, putting together a spreadsheet would be largely impractical and inflexible. We would like a program that takes designated T2 item types and quantities of each type and outputs a full shopping list. Extra features, like price calculation and subtracting off items I already have, would be nice too. To make this example simpler, I'll make certain assumptions about my supply chain locations and purchasing decisions: I'll assume I'm purchasing everything from Jita 4-4 and storing reagents in my personal hangar in [insert station in convenient 0.5 system here]. | |||