Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Refactoring for tests and advanced debugging #38

Closed
florianb opened this issue May 21, 2014 · 11 comments
Closed

Refactoring for tests and advanced debugging #38

florianb opened this issue May 21, 2014 · 11 comments

Comments

@florianb
Copy link

I could imagine a refactoring of the Linter, to have a more robust interface, detecting weaknesses in the linters (providing a usable debug-information, which may be reported), being fully test-suited and well-documented. As long as the whole system isn't too big it should be done in effortable time.

@florianb florianb changed the title Refactoring for test and debugging and 🍭 Refactoring for test and debugging May 21, 2014
@florianb florianb changed the title Refactoring for test and debugging Refactoring for tests and advanced debugging May 21, 2014
@iam4x
Copy link
Contributor

iam4x commented May 21, 2014

Yes, I agree! We should start doing it on a new branch. But someone need to drive the project with good practices and a good software architecture

@florianb
Copy link
Author

I'm somewhat experienced in creating distributed architectures but I guess I'm not fully aware of the coffeescript/js/atom-framework capabilities. I would like to suggest creating a AtomLinter/linter-core-repository to standardize the repo-naming.

I would also like to suggest using GitHub to collaborate in the design-process - every idea to improve something is welcome. I could imagine the following tasks for the first milestone:

  • requirement for publishing: code-coverage (with karma & jasmine) != 1.0
  • full test-set for linter-core and linter-prototype (the new baseclass for linters, to be forked)
  • a toggleable, scrollable bottom-info-pane for project-based configuration, debug-reporting, release-notes and project-announcements.
  • a backward-compatibility-class "Linter", to catch up the old linters
  • the polished, transparent, hovering lint-reporter next to the cursor

@park9140
Copy link

We need to start a branch to pull in the standard atom testing framework. They have it set up with jasmine and fully ready for integration style testing. So there shouldn't be any real difficulty testing the existing implementation.

@florianb
Copy link
Author

Yeah, we should use the existing test-infrastructure. But we should probably also consider a refactoring of the classes and their responsibilities, to make the behaviour more consise and robust.

@park9140
Copy link

Agreed. I think our primary initial goal should be to force a solid mvc separation and get the views broken out from their controllers. The pattern for separating along these lines in most of the atom code doesn't really seem to exist. I'm still researching good methodologies for breaking it out.

@florianb
Copy link
Author

👍

In my 2nd package (gradle-ci) - i made good experience with a nearly rails approach: having a model and medium-weight views. I think it is possible to create a fully working mvc-approach if that is what we're searching for.

I'll create a discussable skeleton to let the idea become more precise.

@park9140 park9140 added this to the Refactor break out model, controller, and view logic, with tests milestone May 25, 2014
@lijunle
Copy link

lijunle commented Jun 5, 2014

I am suggesting to use Promise/A+ pattern to replace the callback pattern. The current code is very hard to find out what is dealing with the callback.

http://promisesaplus.com

@park9140
Copy link

park9140 commented Jun 5, 2014

Promises, yes please,
I use Q and find it very pleasing :)
https://github.com/kriskowal/q
@lijunle do you want to tackle refactoring some of the callback hell?

@hd-deman
Copy link
Contributor

hd-deman commented Jun 5, 2014

+1 q

@iam4x
Copy link
Contributor

iam4x commented Jun 5, 2014

I use RSVP, but I'm okey with Q ;)

That's a good direction.

@lijunle
Copy link

lijunle commented Jun 6, 2014

@park9140 , I will do it if you guys accept the code.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

6 participants