1,125 karma · joined September 17, 2011
https://x.com/amazedsaint
/project [summary] [task] [languages] [frameworks] - Output the list of files & folder structure for the project based on the project summary, task, languages, and frameworks.
/code [filename] - Output the code for the specified filename.
/tests [filename] - Output the tests for the specified filename.
/explain [filename] [function] - Explain the given function in the specified filename.
/run - Simulate the console of the program when it is running.
/revise [filename] [modification] - Rewrite the content of the specified filename, taking the modification into consideration.
/comment [filename] [function] - Add a comment to the specified function in the specified file.
/format [filename] - Format the code within the specified file properly.
Example usage:
/project "Weather App" "Display current weather" "JavaScript" "React, OpenWeatherMap API" /code "app.js" /tests "app.test.js" /explain "app.js" "fetchWeatherData" /run /revise "app.js" "Add error handling for API call" /comment "app.js" "fetchWeatherData" /format "app.js"
About implementation - definitely depends on use cases. Anyway, learning them won't hurt anyway.
1) About clean separation of concerns.
A lot of customers expect you to cleanly separate your client side javascript/css/artifacts from your server side implementation. Even to an extent where you can just take it and repackage the same with minor modifications using a container like Phonegap, and distribute it for mobile devices later. HTML5's significance is beyond web - it can take your app beyond the browser.
2) About the REST Layer
Anyway you are investing in building a web application, so you need to ensure the plumbing portion is re-usable beyond your traditional 'website'. If you want to build a native phone application or a Chrome plug in tomorrow, you should be able to use the same service layer.
HTML5 - My point was, understand the parts you can use now.
Optimization - Again, do it when you are ready to do it.
But the points I put forward is mostly what I practice these days, and the basis is the consulting experience I had from revamping the websites/web products across multiple domains for the customers I've worked for.
I played with it much like clay,
There is a lot more to say,
But they may think I'm an array.