The General Way of Development

Hire General Chicken!
I am an advanced WordPress plugin developer, and project manager. I can handle all aspects of development, from conception to deployment. I work directly with stakeholders to make an idea into reality.

What are you looking for:
I want to working software delivered asap
I want to hire a full time developer as an employee
I want to hire an on call developer for a long term project

WordPress as a platform
Why WordPress? Simple, size. That’s the reason, no other. It’s the #1 software platform on Earth, in terms of number of people who know how to execute within the platform. In other words, the employee pool is larger in WordPress than in any other ecosystem. This is a crucial thing to understand. When you’re talking about websites, and mobile app back ends, there are MILLIONS more human beings who know how to program WordPress than any other system.
If there were 10 times as many Joomla, Laravel, .net, Swift, Rails, Synphony, React, Vue, programmers as WordPress programmers, I’d recommend those things. The reality, is there are more WordPress programmers than all those technologies COMBINED.. TIMES TEN.

Onboarding and setup
The normal way technology teams work, is to onboard the human being, and make them fit within the corporate culture of the company. This is known as “onboarding”, and it’s a very expensive, and time consuming process.

24 hour development schedule
Time difference problem goes away.
Programmers cannot work more than 4 hours a day. It’s a scam.

The Kernel
The Kernel is where the action happens.
2 PAIR programmers, 1 developer
4 hour shift for programmers
4-12 hour shift for developers
runs 24 hours a day seven days a week
In PAIR programming there are two roles: driver and navigator
First 2 hours of shift, programmer is driver
2nd 2 hours of shift, programmer is navigator

3 tiers of humans in the General stack
stakeholders – This is, well at least me. My partners, and clients.
developers – This person is a journeyman web developer.
programmers – This person is a PHP programmer who makes $10/hr. He is expected to know basic WordPress programming, but not architectures

bdd

unit testing

What is the best WordPress themes for eCommerce sites?

There is absolutely no “best” e-commerce WordPress theme. Virtually every theme in the .org repo will work perfectly well for any type of e-commerce you can imagine. You’ll need a PLUGIN to enable e-commerce on your site, and for that WooCommerce is the most popular [and therefore almost certainly the “best”, unless you can a priori name some feature of Shopify or some other plugin you need — which I defy you to do]. Personally, I think the size of the market is important, and by that criteria, Woo is hands and shoulders the best. Also it’s 100% free and open source. Some themes, might be “WooCommerce enabled”, like Storefront [the base theme from WooThemes], and this just allows easy placement of things like a shoppiong cart, which can also be done on any other theme with just a few shortcodes.

To be clear: ANY theme will do. You can setup a e-commerce site that looks like absolutely anything, and has all modern e-commerce features, 100% for free, 100% secure on WordPress. Don’t waste your money listening to salespeople selling you garbage.

Read John Dee's answer to What is the best WordPress themes for eCommerce sites? on Quora

Naming Conventions in TDD / BDD

Of course, methods and test classes would use whatever naming conventions you might be already using in your language. For instance:

PascalCase
camelCase
_pearPrivateMethod

Beyond that, here are some popular techniques:

In the case of unit test about a particular class, I use the “itShouldxxxx” method:
itShouldBeAbleToDoSomething();
The “it” being the class I’m testing.

In terms of acceptance tests written in the Codeception style, which is a scripting style given from the subjective point of view of the tester; we name the testing object “$I” and write call the methods in a script like this:

$I->openABrowser();
$I->amOnUrl(‘https://generalchicken.guru’);
$I->see(‘Never for money, always for love.’);
$I->dontSee(‘We are greedy MOFOs’);

In terms of Feature Files written in Gherkin, we pull method names out of the English sentances and take into account the point of view from whom the feature is written. This is usually given as an “as a/the” in the begging of the file, like this:

In order to drive traffic to my website
As a blogger
I want to make lots of Quora posts

In this case, the feature would be written “As a blogger” and a scenario might be:

Given there is a popular site “Quora.com”
When someone emails me a question
Then I answer it

So the function names would come out as:
thereIsApopularSite($websiteName);
someoneEmailsMeAquestion();
IanswerIt();