Features of Strong Test Frameworks

In the previous article I made the case for Automated Testing. Today we will talk about the tools.

  • What qualities does a strong testing framework have?
  • What guidelines should developers use when choosing one?
  • Why do those guidelines matter?
  • What tools would I recommend?

I will use the terms Harness, Framework and Library interchangeably. Be warned.

All of this and more, after a few choice bold words, a digit, a hash, and a hyphen.

Continue reading “Features of Strong Test Frameworks”

BetterTech + JavaScript (in the form of V8)

V8_JavaScript_engine_logo

As some of you likely guessed, the V8 integration walkthrough was not a one off. I have been growing a pretty healthy appreciation for the JS language and so I put it to the test and started linking it into UE4. This past weekend I sorted out the details of defining objects and linking static methods in that reference those objects, which was far from well documented.

Either way, it is working and committed.

BetterTech development has continued, and I have unearthed a number of very interesting things have come of them. Hopefully I will be able to start talking more openly about the state of things soon.

Changes for Alpha 2

 

  • Agents need to check in on a regular basis when they don’t have any jobs.
  • Link in V8 with standard placeholder functions
  • Agents need visible meshes
  • Menu – Pause
  • Menu – Settings
  • Menu – Intro

 

Integrating V8 Into {Insert your C++ Windows Application Here}

V8_JavaScript_engine_logoI have been absolutely enthralled with Javascript for the last two or so years. Node.js and V8 in particular, but over the last 2-4 years I have put time aside to bind in the three major C# implementations of javascript {Jint, Javascript.NET, Jurassic} into applications that didn’t even need to have scripting languages supported. Needless to say, it has been a bit of a challenge of mine to implement JS wherever I have been working.

This may be because I am currently working as  Mobile JS Engineer, but there is really something about JS that makes me smile. Something about the way the code flows and how I have to think to get things done makes me feel like I am achieving something amazing – even when all I am doing is pooping out a stupid express app to maintain a user list or something.

Either way, Integrating V8 is NOT as straight forward as I would like. As such, here is what I had to do to get V8 to integrate into a C++ application I am working on. Be aware that this is not for the faint of heart, it will take some determination if you are a novice.

And if you aren’t a novice – what the hell are you doing reading tutorials!? Continue reading “Integrating V8 Into {Insert your C++ Windows Application Here}”

JavaScript 101 – Private Variables

Funny things happen in the course of piecing together solutions in this field. Programmers have a tendency to throw their hands up in the air when they get to the end of a week and they can’t quite figure out a concept, and the problem is compounded when looking at programmers who don’t take the time to actually learn the new idioms of a language before getting into the position of writing production code.

JavaScript lends itself to this type of behavior. It has Java in it’s name, and it looks a lot like C or Java syntax, so it attracts a lot of OO type behavior. Little do these people know the language should be written more like lisp and less like Java. Continue reading “JavaScript 101 – Private Variables”

Why You Should Learn – Node.JS

When I was in my higher math classes I was irritated. Some goofball with a powdered wig and a ton of time on his hands got drunk and poured Calculus into my Computer Science! I was appalled, considering so few of my work colleagues were using integration or derivation in their day to day, I found it incredibly difficult to accept that it would be useful in my day to day. All of this fell apart when I was tutoring algebra and heard the same damned arguments, and realized that I was in fact a fool – about that one thing in particular.

Over the years a number of languages have come and gone, allowing me the opportunity to learn them and leave them (Java, Ruby, Squirrel) but a few have stuck around proving to be quite useful, interesting and all around insightful in spite of time doing its best to wear them out (C, C++, C#, Scheme). Node happens to be the next evolution of JavaScript, a language that falls into the later camp.

Continue reading “Why You Should Learn – Node.JS”