Closed. This question is opinion-based. It is not currently accepting answers.
Want to improve this question? Update the question so it can be answered with facts and citations by editing this post.
Closed 4 years ago.
Improve this question
Is there any standard way to build developer, just making the developers understand the code easily after delivering, if you have sample it's better
If you want to know how to make your code better, you need to read about SOLID and other object-oriented design patterns.
There are no official Apple developer programming style guides.
I.e.: no official "Programming Standards" exist.
Standard only exist in terms of UI, external appearance of your application.
Normal software development criteria apply:
commenting
using software patterns appropriately, as pointed out in another answer, SOLID makes a lot of sense. Just in order to understand Apple Frameworks you need to know software patterns: delegation, visitor, proxy, etc.
document requisites and change requests, api and architecture if the app is complex
don't rely too much on bug tracking, these tend to be abused (change requests marked as bugs) and might add too much complexity of their own (JIIRA).
your organization may adopt an existing programming "quality standard" and adapt it to iOS development. ITIL is and ISO are usually overkill.
Sometimes it makes no sense to over-optimize and over-engineer everything, including your code and programming standards.
Related
Closed. This question is opinion-based. It is not currently accepting answers.
Want to improve this question? Update the question so it can be answered with facts and citations by editing this post.
Closed 6 years ago.
Improve this question
Coming from Android, I got used to Dagger as my main DI framework.
Recently, I joined a new iPhone project written in Objective-C which have no DI framework.
I would like to add one to our project, and I wonder which one is the best one to use, when it comes to simplicity and performance.
I would like to hear your opinion and experience.
Thanks!
Dependency injection is a popular design pattern in many languages, such as Java and C#, but it hasn’t seen widespread adoption in Objective-C (yet!).
This is an excellent read to get you started on DI is Objective-C. Additionally, you'll find this, this & the Grand Daddy this indispensable for DI in iOS.
This framework seems to be making a lot of noise these days.
In my personal experience, more than anything else DI helps you a lot in testing. It's not all or nothing approach (which is common for many design patterns) allows for easy, no-cost adoption & definitely valuable returns.
Closed. This question is opinion-based. It is not currently accepting answers.
Want to improve this question? Update the question so it can be answered with facts and citations by editing this post.
Closed 6 years ago.
Improve this question
Is it even worth it to learn all of this Bootstrapping and stuff that just feels like I'm not really doing any work?
I feel like it's a bit cheat-y, y'know?
I showed someone a site I had built and they said it was good, but it didn't work well at all across multiple platforms.
So, I Googled for some tips on how I can make the site adjust to different screen sizes, and every link I went to just listed different Bootstrapping things and plug-ins that'll do it for me.
I want to learn this stuff for myself so I have better control over it, I suppose.
Is that really a good idea, or would it be more worth it to look into Bootstrapping and junk?
I would advocate to learn how things work first, and then use libraries/frameworks to accelerate your workflow.
The idea behind this is that if those tools have bugs, or issues, you'll have a much better capacity to dig in and debug.
Trying to build all of these tools yourself, however, is NOT recommended (unless its for exploratory reasons). These libraries and frameworks exist for a reason, they have many contributors (something you can't compete against as a solo dev) and they solve real-world problems.
That being said, learning how to properly select a given lib/framework for a given use-case is a skill really worth building. And that comes from understanding what problems the libs/frameworks solve, which is the result of having explored "the inner workings" by digging in.
In the end, these tools will greatly accelerate your development speed, which is great, especially when it's business related (your job).
Closed. This question is opinion-based. It is not currently accepting answers.
Want to improve this question? Update the question so it can be answered with facts and citations by editing this post.
Closed 1 year ago.
Improve this question
From what I can tell from online forums and posts, one of the main focuses of BDD/ATDD seems to be on discussion and ensuring that the customer, developers, testers and other relevant parties are involved in the understanding what the system must do.
Question 1: Do BDD/ATDD stories replace the need for traditional requirement specifications, such as the those captured using the Volere Template?
Because the traditional requirement specifications are one of the key inputs for developers and testers, traditional requirement specifications tend to be comprehensive.
Question 2: Should BDD/ATDD stories also be comprehensive enough to allow a system to be fully tested?
Question 1: Instead of looking at this question as a black-and-white situation, we should better understand how these two requirements capture methods get along with each other. Writing a story in the BDD/ATDD methodologies, or in Scrum for example, does not imply removing the templates like volere off the table. If we take a look at the volere requirements specification here, we can see that most of the information regards to project-related issues, and the shell used for functional requirements is far from being different to a story. They just have different information, not exclusive one.
Question 2: Here we have the advantage coming from the methodology itself. BDD comes from TDD, we can more or less rely on the test-first oriented process to allow the team to test the system. But, as I mentioned in question 1, making a BDD/ATDD story more comprehensive is not a sin, and wouldn't compromise the general idea of the story. This would also prove useful when interacting with more experienced clients.
Closed. This question is opinion-based. It is not currently accepting answers.
Want to improve this question? Update the question so it can be answered with facts and citations by editing this post.
Closed 6 years ago.
Improve this question
I'm just about to rewrite my personal site/blog using ASP.NET 4/MVC. I usually use my private Subversion server for version control, but for this project I'm intending to use Git/GitHub —I've been using Git more and more recently and prefer the way it works. I'd also like to make my code open-source in case anyone else wants to use it to learn from.
My question is this: if I make the source code of my personal site publicly available on GitHub, am I exposing myself to an increased risk of security breaches?
I'm not concerned about intellectual property here, just about security—whatever code I write will be fairly basic anyway.
I realise that a) the open-source community leans very much toward the white-hat and b) my tiny web site is not by any means a worthwhile target.
Having said that, if I'm publishing my code and I make a mistake which results in a security hole (and I'm positive that at some stage I will, nobody's perfect), it only takes one malicious person to exploit it rather than letting me know and I'm screwed, aren't I?.
If you open-source it, it has a higher chance of being hacked, but you have a much higher chance of being told about it. If you don't, you may not get told about it if it happens.
Closed. This question does not meet Stack Overflow guidelines. It is not currently accepting answers.
We don’t allow questions seeking recommendations for books, tools, software libraries, and more. You can edit the question so it can be answered with facts and citations.
Closed 7 years ago.
Improve this question
There are a lot of programing languages these days. Fine. Not interesting for this question.
There are quite a few programming methodologies, like modular programming, Object Oriented, Agile, etc. Now, is there somewhere a good diagram on the Internet that shows how these methodologies are related to one another? Preferably something with a timeline showing when the methodology started to appear?
(Thus, not the programming languages but the methodologies...)
you can find one here for programming languages. this one looks at paradigms
and here is a timeline of developement methodologies:
Structured Programming, Object Oriented Design, Functional programming - all of these are the way code can be written.
WaterFall, Agile - is the process by which development can be done. Development is not the only thing when it comes to software development. Programming is one of the mandatory component of the process. The process can have design/testing/refactoring/maintenance.
And both of the above are complementary to each other (i.e. one can do structured programming and be modular and use some of the agile principles).
I don't know as to when it started (and I guess it should not matter).
You might come up with your own style of process, which can work better in your own scenario.
EDIT: In summary, people started with structured programming, used it very well. It had its own limitations & things became object oriented. OO has its own limitations, as some gurus say and they see functional programming as the way to fix it.
It all depends on what suits your scenario & what serves you better.
There is no silver bullet, as experts say.