Bay 12 Games Forum

Please login or register.

Login with username, password and session length
Advanced search  
Pages: 1 ... 297 298 [299] 300 301 ... 796

Author Topic: if self.isCoder(): post() #Programming Thread  (Read 882142 times)

olemars

  • Bay Watcher
    • View Profile
Re: if self.isCoder(): post() #Programming Thread
« Reply #4470 on: June 11, 2013, 05:03:17 pm »

We're a fairly small company - my team consists of seven other people currently. The process goes something like this:

  • Ticket owner tests locally and submits a pull request when he or she feels the code is adequate
  • Other devs pull down the branch and test
  • If no one has any complaints, a dev other than the owner merges the branch into master
  • Following our deployment schedule, the last x days of merged code is deployed to staging and tested
  • If staging passes, start the prod deployment, which deploys to all prod servers in series and halts on issues

I know some people blow a gasket if they don't have dedicated testers, but this works for us.

Not that different from ours. Dev commits changes and reassigns ticket to other dev for testing. Lab environment gets updated and tested with release setup. For larger changes or otherwise important events there might be more formal acceptance tests. Eventually the production setups are updated. We have the luxury of not having our software exposed to the general public though, we know exactly who will use it and when.

We just code in production!  8)

Well, my predecessor did. We now do proper version control and always a last check with a pre-prod environment on the production backend.
Personally I'm nervous since we're throwing one of our new projects open source, and I've never done anything like that before.

Let us know when it happens so we can all jump in and criticize your code.
Logged

Zanzetkuken The Great

  • Bay Watcher
  • The Wizard Dragon
    • View Profile
Re: if self.isCoder(): post() #Programming Thread
« Reply #4471 on: June 11, 2013, 10:18:25 pm »

Well, I am going to attempt to program a game using java.  Since I am going to have no idea what I am doing, I'm likely going to be asking a few questions here.  This post is mainly so I can remember this thread.
Logged
Quote from: Eric Blank
It's Zanzetkuken The Great. He's a goddamn wizard-dragon. He will make it so, and it will forever be.
Quote from: 2016 Election IRC
<DozebomLolumzalis> you filthy god-damn ninja wizard dragon

Mego

  • Bay Watcher
  • [PREFSTRING:MADNESS]
    • View Profile
Re: if self.isCoder(): post() #Programming Thread
« Reply #4472 on: June 11, 2013, 11:35:01 pm »

Well, I am going to attempt to program a game using java.  Since I am going to have no idea what I am doing, I'm likely going to be asking a few questions here.  This post is mainly so I can remember this thread.

That's what we're here for! I have a good amount of experience with Java, so I'd be glad to answer any questions you have.

Siquo

  • Bay Watcher
  • Procedurally generated
    • View Profile
Re: if self.isCoder(): post() #Programming Thread
« Reply #4473 on: June 12, 2013, 01:57:06 am »

Let us know when it happens so we can all jump in and criticize your code.
I think I might.
Logged

This one thread is mine. MIIIIINE!!! And it will remain a happy, friendly, encouraging place, whether you lot like it or not. 
will rena,eme sique to sique sxds-- siquo if sucessufil
(cant spel siqou a. every speling looks wroing (hate this))

MorleyDev

  • Bay Watcher
  • "It is not enough for it to just work."
    • View Profile
    • MorleyDev
Re: if self.isCoder(): post() #Programming Thread
« Reply #4474 on: June 12, 2013, 07:19:10 am »

At my company we work in pairs. Each pair works on a story on a branch, then when the work is finished another pair of developers will do a code review and QA of the work in the development environment. If this passes QA it is merged into master and released to ops, who release it to live.

Between the pair programming and code review there is a lot of peer pressure to write good code, which is nothing but a good thing :-)
Logged

kaenneth

  • Bay Watcher
  • Catching fish
    • View Profile
    • Terrible Web Site
Re: if self.isCoder(): post() #Programming Thread
« Reply #4475 on: June 12, 2013, 04:38:19 pm »

what's a "Story"?
Logged
Quote from: Karnewarrior
Jeeze. Any time I want to be sigged I may as well just post in this thread.
Quote from: Darvi
That is an application of trigonometry that never occurred to me.
Quote from: PTTG??
I'm getting cake.
Don't tell anyone that you can see their shadows. If they hear you telling anyone, if you let them know that you know of them, they will get you.

MorleyDev

  • Bay Watcher
  • "It is not enough for it to just work."
    • View Profile
    • MorleyDev
Re: if self.isCoder(): post() #Programming Thread
« Reply #4476 on: June 12, 2013, 05:29:10 pm »

what's a "Story"?

http://en.wikipedia.org/wiki/User_story

Basically it's a task, a piece of work that gives some value, be that adding some functionality or fixing some problem. Tends to be used as a part of Scrum, the stories often forming the individual cards on the Kanban board.

It's called a story because the focus is to be on the Who/What/Why and business value, not the technicalities of implementing it. That's an implementation detail and up to the programmers to figure out through the whole team looking into it and getting a rough idea during the bi-weekly iteration planning meeting (If it is felt by the team that a story is too big for whatever reason, it will be broken down into smaller more manageable stories at this point), and then figuring out the specific details as they work on it and undergo the Red-Green-Refactor (a concept in Test-Driven Development: Write failing test (Red), make test pass (Green), Tidy up code (Refactor, the most important step)).

The whole reason behind not designing the implementation up-front is that big design up front sucks. It produces overengineered and poorly conceived software. Much better to evolve the design through taking the time to do constant refactoring to keep it as clean as possible (For example this often involves making sure it follows the SOLID principles, which are good rules of thumb for clean code).

Since clean code is easier to understand and extend the functionality of (when responsibilities are clearly separated and everything does one thing and has it's one purpose, the place for changes are obvious), this makes the system much easier to update and maintain in the long-term, gaining back that time investment in less bug fixing and less having to hunt around and figure out cumbersome code. This is also where test-driven development is useful, since if all code is tested by a combination of top-level "integration" tests and low level unit tests then you can be a lot more confident you haven't broke something and can code without fear and with instant feedback if something goes wrong.

...I seem to have gone off on a little tangent there, my apologies. I can ramble for awhile about the important of keeping code clean, and breaking down responsibilities. Heck, I'd argue that code should be thought of in terms of responsibilities. I define the inheritance of one class by another (note not interface) as a way for a class to duplicate and extent the responsibilities of another class. Hence why the majority of situations such inheritance is just plain bad and leads to poor code, since you want each class and function to have as few direct responsibilities as possible (namely: one).

...and there I go again xD
« Last Edit: June 12, 2013, 05:55:01 pm by MorleyDev »
Logged

MagmaMcFry

  • Bay Watcher
  • [EXISTS]
    • View Profile
Re: if self.isCoder(): post() #Programming Thread
« Reply #4477 on: June 12, 2013, 05:39:53 pm »

http://en.wikipedia.org/wiki/User_story
That page has a story map of the development process of a story map editor. I'm impressed.
Logged

Vector

  • Bay Watcher
    • View Profile
Re: if self.isCoder(): post() #Programming Thread
« Reply #4478 on: June 12, 2013, 06:20:52 pm »

Howdy... I'm looking for coding resources.  Specifically, do you know of any good (free) class/guided instruction type things that are good for a relative newcomer, albeit not a noob, to Java or C++?
Logged
"The question of the usefulness of poetry arises only in periods of its decline, while in periods of its flowering, no one doubts its total uselessness." - Boris Pasternak

nonbinary/genderfluid/genderqueer renegade mathematician and mafia subforum limpet. please avoid quoting me.

pronouns: prefer neutral ones, others are fine. height: 5'3".

Mego

  • Bay Watcher
  • [PREFSTRING:MADNESS]
    • View Profile
Re: if self.isCoder(): post() #Programming Thread
« Reply #4479 on: June 12, 2013, 06:27:35 pm »

Stargrasper and I started tutorials on Java and C++ (respectively) in this thread, but neither of us got very far. For good C++ tutorials and references, I'd suggest http://www.cprogramming.com and http://www.cplusplus.com. I don't know about good Java tutorials, mainly because I learned Java in a formal classroom setting, instead of teaching myself like I did with C++, but I'm sure someone else here can make a recommendation. Honestly, though, if you learn C++ first, almost everything concept-wise will transfer over to Java.

alway

  • Bay Watcher
  • 🏳️‍⚧️
    • View Profile
Re: if self.isCoder(): post() #Programming Thread
« Reply #4480 on: June 12, 2013, 07:28:11 pm »

If you want a more formal setting, try Udacity or Coursera.
I haven't done any of the lower-level courses from Udacity, but the ones I have done have a really excellent setup. Video lectures interspersed with comprehension questions and homework problems; complete with in-browser code compiling & execution which checks the results. They have a Java course, but not a C++ course. https://www.udacity.com/

Coursera is much more general-purpose, but it has a variety of programming courses, including Java and C++, and has actual professors from big Universities around the world. Unfortunately, Coursera actually acts like an online university, in that the courses are time-limitted and such, so those may not be what you want.
https://www.coursera.org/courses?orderby=upcoming&cats=cs-programming

All that said, I think you will mostly find those resources useful after you get the basics down. They have have tons of info on the more advanced topics and the ideas on which good code is built.

There's also CodeAcademy, though I haven't tried that one myself. http://www.codecademy.com/
« Last Edit: June 12, 2013, 07:53:06 pm by alway »
Logged

Vector

  • Bay Watcher
    • View Profile
Re: if self.isCoder(): post() #Programming Thread
« Reply #4481 on: June 12, 2013, 09:02:12 pm »

Cool, thanks.  I'll start working with those tomorrow.

I do have the basics down, by the way.  I have a math degree and took a couple of programming courses in university, but I need to expand beyond what they gave us there.
Logged
"The question of the usefulness of poetry arises only in periods of its decline, while in periods of its flowering, no one doubts its total uselessness." - Boris Pasternak

nonbinary/genderfluid/genderqueer renegade mathematician and mafia subforum limpet. please avoid quoting me.

pronouns: prefer neutral ones, others are fine. height: 5'3".

Stargrasper

  • Bay Watcher
    • View Profile
Re: if self.isCoder(): post() #Programming Thread
« Reply #4482 on: June 12, 2013, 09:06:47 pm »

Stargrasper and I started tutorials on Java and C++ (respectively) in this thread, but neither of us got very far. For good C++ tutorials and references, I'd suggest http://www.cprogramming.com and http://www.cplusplus.com. I don't know about good Java tutorials, mainly because I learned Java in a formal classroom setting, instead of teaching myself like I did with C++, but I'm sure someone else here can make a recommendation. Honestly, though, if you learn C++ first, almost everything concept-wise will transfer over to Java.

I promise to finish as soon as I ever get time.  Unfortunately, real life takes priority.  Those sites are both great for C++, with http://cplusplus.com being my usual C++ reference.  For Java, I never really found any sites I liked.  My principle resource was always the API with the occasional random Google search for simple examples.  The easiest way to learn either language outside of a formal setting is to pick a simple project and implement it.  My favorite nightmare of a beginners project is the four-function calculator (sans gui).
Logged

Vector

  • Bay Watcher
    • View Profile
Re: if self.isCoder(): post() #Programming Thread
« Reply #4483 on: June 12, 2013, 09:15:01 pm »

Yeah, I've done the 4-op calculator in Java before.  Really looking for something to help me bridge to longer independently-written coding projects.
Logged
"The question of the usefulness of poetry arises only in periods of its decline, while in periods of its flowering, no one doubts its total uselessness." - Boris Pasternak

nonbinary/genderfluid/genderqueer renegade mathematician and mafia subforum limpet. please avoid quoting me.

pronouns: prefer neutral ones, others are fine. height: 5'3".

Mego

  • Bay Watcher
  • [PREFSTRING:MADNESS]
    • View Profile
Re: if self.isCoder(): post() #Programming Thread
« Reply #4484 on: June 12, 2013, 09:41:30 pm »

Before you try making an entire game, try making smaller bits, and building them up. For example, try making a small physics engine that will allow you to make your "character" (can be as simple as a square) jump, and have gravitational acceleration work properly.
Pages: 1 ... 297 298 [299] 300 301 ... 796