Primeiro de tudo, existem projetos e projetos. Se você experimentar alguma tecnologia ou biblioteca, ou algo mais, provavelmente criará um projeto em seu IDE, descobrirá se isso é interessante ou não e excluir o projeto. Tudo bem, todo mundo faz isso.
Outro tipo de projeto são softwares / sites / etc. Reais, que são negócios, onde esses 'projetos', arquivos, programas são apenas ferramentas, e desenvolver coisas tão complexas exige motivação e objetivos :
- o que você desenvolve (site / editor de texto / aplicativo móvel / ...)
- para que você precisa (ganhar dinheiro, adquirir alguma nova tecnologia / contribuir com código aberto / ...)
- quando você faria (quanto tempo dedica seu projeto, quanto tempo planeja fazer isso)
O que você desenvolve deve ser novo . Se você deseja criar apenas outro editor de texto porque acha que falta algum recurso exigido, provavelmente não precisa fazer isso. Existem centenas de ferramentas de código aberto, contribuem para uma delas.
Mesmo se você criar uma pequena ferramenta de uso único como um script, deve indicar as coisas listadas, seria mais fácil resolver o problema.
Se você está preso ao escrever um código (por exemplo, reescreva-o massivamente), provavelmente não possui experiência suficiente para fazer isso. Faça um bom livro sobre engenharia de software, sua plataforma (mac / web / etc), leia o código escrito por desenvolvedores mais experientes que faz coisas semelhantes. Existem muitos lugares para fazer isso agora (github, código do google, blogs de programação, stackoverflow).
Não tente resolver um problema muito complexo (por exemplo, escreva um compilador ou um sistema operacional) do zero, primeiro decomponha-o em tarefas menores, na maioria das vezes, alguém já criou bibliotecas que o ajudam a resolver seu problema.