1

Topic: Jumps on the code

The matter is that almost always over the project I work alone. Projects of different value, well we tell the greatest occupy year-one and a half. And so an essence in what. I understand that hundred years as  everyones ,  and , with   through a shoulder. BUT! The customer writes - I want such that a feature, it should whistle, and behind at it should be  the motor. It was laid down in three lines. And like in appearance all it is clear, you think, , an easy thing for couple of days. BUT! You start to write the code, to break it into classes, then on properties, methods. Reaching implementation which, far you go deep into a code jungle, observance of these  principles and prowhose that the yesterday's easy thing, turns in   which practically quits from under control. And quits from under control why? Because to hold in its head it is not possible. For example at me 200 files with classes, in them in total 2000 methods and properties, and the person, as far as I know can hold in a head to 9 entities. , in IDE before eyes and  it is possible to pass all to a proper place of this monster. BUT! The customer speaks, and I want still here such   sideways. In general not to speak in a circumlocutory manner, I will pass to a question. You have a monster, you have a task. In between - an implementation precipice. How to retain in a head and to implement all microtasks? Normal process  goes approximately so (on myself I judge). You should create a class (in the necessary folder) to create in it properties, then to connect it with UI, then to correct class Settings that it considered the made changes, in other class to create object, to pass in the necessary method . Generally, we permanently spring on the code. To the huge uncontrollable. And how easier to make, that these jumps were more productive and did not strain all brain. Here my example that I for this purpose do. I have a multitask, or a most important task which was designated by the customer (want the manager). Certainly I break it into smaller subtasks. And further, proceeding from them I begin . But here and to have to falter all time.  in UI,  in configs,  in a model class,  in a view-model class, back in UI. And this process is cyclic. Between these jumps, it is possible to lose any detail and generally to depart to space, reflecting on life.  I write all to a notepad, all these microtasks, and at each jump I climb in notices not to forget. At you as? p.s. Now this picture from films about hackers when the hacker without restraint  and for 62 seconds at it turns out a program is represented to me. And still, it is frequent on hearing in IT blogs slips "a flow state". What it for a state when it is necessary to you  a great lot of details? To write all to one file as emacs.c?

2

Re: Jumps on the code

Hello, licedey, you wrote: L> I write to Vobshchem all to a notepad, all these microtasks, and at each jump I climb in notices not to forget. At you as? Wrote to the normal text file - that is yes, a notepad Earlier. Now I use Org-mode - as a matter of fact the same text files, but with minimum structure:  points, hyperlinks (including on a specific piece of a file, including on files by the remote machine through some ssh-tunnels), images, interactive pieces of the code in different languages. https://www.youtube.com/watch?v=dljNabciEGg

3

Re: Jumps on the code

Hello, licedey, you wrote: L> I write to Vobshchem all to a notepad, all these microtasks, and at each jump I climb in notices not to forget. At you as? An old kind principle "an elephant eat on slices". We break any feature into microfeatures (a maximum on half-day of operation everyone, it it is normal less) so that on end of everyone we had a working code. The worker is not in sense completely functional, it in sense everything that is accessible to the user, is the worker or is covered by a stub. On a microfeature it is got separate  ( if yours issue tracker the such is able), further all as usual. The specific method of a partition depends on a command, experience of the developer, architecture both  and  and steals up therein, from the third-fifth attempt the working circuit is normally built. We make out on it  - it is ready. If the partition systematically is impossible - well, here you and learned that such a technical debt And yes, pair of hundreds files - about what. Certainly, if at you made system  and IDE which is able in quick global search by the arbitrary part of a name. L> and still, it is frequent on hearing in IT blogs slips "a flow state". A state when it is possible to retain in short-term storage all details under the current task. It is overestimated, . at due level of experience switching from a context on a context does not represent a special problem. Especially if to pump over  "to answer ugu/aha/give later, without listening attentively to a question"

4

Re: Jumps on the code

Hello, licedey, you wrote: L>... You Start to write the code, to break it into classes, then on properties, methods. Reaching implementation, L> which, far you go deep into a code jungle, observance of these  principles and prowhose that the yesterday's easy thing, turns in   L> which practically quits from under control. L> and quits from under control why? Because to hold in its head it is not possible. For example at me 200 files with classes, in them in total 2000 methods and properties, L> and the person, as far as I know can hold in a head to 9 entities. .... These SOLID invented All not for religious rituals are methods of struggle against complexity. It is necessary to understand absolutely precisely that each letter in it to an abbreviation, and what for all it because differently instead of reduction of complexity you will receive its magnification means. L>..., in IDE before eyes and  it is possible to pass all to a proper place of this monster. . It is not necessary, all is not necessary before eyes - all all the same does not get into your brain. Instead stand systems so that you could represent all system schematically seven figures to the skeleton diagram (each small square or a circle on the circuit - any subsystem). Further a system so that each subsystem could be represented seven figures on a plane etc. At such approach arrays of any elements should to be a separate figure: an array of virtual machines in , an array of data stores, an array of circuits in a DB, an array of data members.... After that do not admit a brothel, it was not necessary to search. I.e. it is impossible to admit, for example, that elements UI appeared among data members. Observing these principles you you will avoid excessive complexity: on each step you should operate with small entity set. It much more, much better, than when before eyes all simultaneously.

5

Re: Jumps on the code

Hello, the Philosopher, you wrote: Further a system so that each subsystem could be represented seven figures on a plane etc. Here I did not begin to recommend anything similar, . in most cases similar artful circuits are degenerated in blind a cargo-cult in style of three sigmas or still what . Peep experience at trades where improvising goes mixed up with typical procedures and the error price is really high - literally everywhere safety checklist / SOP (Standard Operating Procedures). For challenging tasks - dial-ups SOP with an insulated context (i.e. to know something about remaining SOP it is not required, all contains in the list). P.S: we do not forget that  is not the instruction, and a crib in style "that here it is possible to make".

6

Re: Jumps on the code

Hello, licedey, you wrote: L> And quits from under control why? Because features necessary to the customer are spread on the code. They not is mandatory exist in the form of a class, a method and its part, but can include pieces in the same or different files. For this reason the functional on CRUD which allows to select and unite different pieces of the code for performance of these operations is necessary. It is absolute too most, as SQL DML in databases or REST in a network, only for the code. Somehow wrote already about modifiability of the code and cutting off of the purposes though on good the data about separation should be stored out of the code. Actually it is purely program problem, after all selection it as a matter of fact position and the size, and the file is unambiguously identified by means of the hashes-sums. Groups of separation in files just also will make a necessary feature. The similar functional did not meet neither in , nor in any IDE, hence at all  programs fundamental problems of programmers and are not solved by the.

7

Re: Jumps on the code

Hello, velkin, you wrote: V> the Similar functional did not meet neither in , nor in any IDE, hence at all  programs fundamental problems of programmers and are not solved by the. Blame in svn/git/... + integration with issue-trekerom?

8

Re: Jumps on the code

Hello, Sinix, you wrote: S> Hello, the Philosopher, you wrote:>> Further a system so that each subsystem could be represented seven figures on a plane etc. S> Here I did not begin to recommend anything similar, . in most cases similar artful circuits are degenerated in blind a cargo-cult in style of three sigmas or still what . Unfortunately your general recommendation "is an elephant on slices" often leads to that each slice of an elephant is connected to billion other slices of an elephant, and even simply to reach a slice 1ACE8 makes a problem, not to mention that it to correct so that all elephant thus was not scattered. My main thought consisted that it is necessary to operate reasonable kol-vom slices for time. And it can achieve only hierarchical designing of this elephant. S> Peep experience at trades where improvising goes mixed up with typical procedures and the error price is really high - literally everywhere safety checklist / SOP (Standard Operating Procedures). For challenging tasks - dial-ups SOP with an insulated context (i.e. to know something about remaining SOP it is not required, all contains in the list). Such checks-sheets were written by someone's blood. There each point - someone's physical inability or life. I doubt that the HARDWARE it is ready to make such . So here approach engineering the approach, designing type from top to down more.

9

Re: Jumps on the code

Hello, Sinix, you wrote: V>> the Similar functional did not meet neither in , nor in any IDE, hence at all  programs fundamental problems of programmers and are not solved by the. S> Blame in svn/git/... + integration with issue-trekerom? At me all projects in , and  a sign, moreover, all it is connected to the same together. Therefore I say that "jumps on the code" it does not solve a problem. We assume to eat a feature 342 "   ". And operation Read in CRUD, it Select in databases and so on is necessary to me on the code. Here so the feature 342 looks in files: a file 134:       a file 173:       a file 231:     That is at pushing a feature it is necessary to open files where it is and to select the necessary code. Moreover, the feature can be intersected with other features, from here it is impossible to superimpose restrictions on intersections of separation of the code with other features that in  expedites matters on creation of such program. And now we present that such information is not present. A question, whence the programmer takes knowledge that the feature 342 "   " is put in these lines of the code. Certainly, it is possible to analyze the code and to guess, but it besides says that the part of the information on development has been lost.

10

Re: Jumps on the code

Hello, the Philosopher, you wrote: Unfortunately your general recommendation "is an elephant on slices" often leads to that each slice of an elephant is connected to billion other slices of an elephant, There is such business, but it is faster to development process as a whole questions, instead of to a problem . I knowingly wrote about " from a command/project/etc" For our projects perfectly well works about such combo: 1. The settled development process with microiterations 2 is necessary. Mandatory to use designing under real scenarios of usage. 3. Not to neglect sharing . 4. To track a technical debt. If all it is fulfilled - further any problems. If is not present - demand changeover of an elephant, this broke. About sharing  at designing recently painted,  the Author: Sinix Date: 03.11 22:18  the Author: Sinix Date: 20.01.16. In the first link there is a pair of real topics-examples that it was clear, about what speech. And even simply to reach a slice 1ACE8 makes a problem, not to mention that it to correct so that all elephant thus it was not scattered. Well, the detail design in such state did not come across to me (unoperated was as much as necessary, but we at first revived them, and then molded features) so how to be with such zombie - ideas any. S>> peep experience at trades where improvising goes mixed up with typical procedures and the error price is really high - literally everywhere safety checklist / SOP (Standard Operating Procedures). Such checks-sheets were written by someone's blood. There each point - someone's physical inability or life. I doubt that the HARDWARE it is ready to make such . So here approach engineering the approach, designing type from top to down more. +1. Here it is optional to adopt word-for-word, the idea can be borrowed. If speech about development of typical things, as at  it is possible and to manage without blood. Simply to paint with the text that becomes directly in the course of operation and to press till 5-10 points. Fine simplifies operation since during each separate moment of time in a head it is possible to hold only a part of the task and at once to throw out this part at passage to following point. It is not necessary to skip reversely in checks "that forgot" - the state space - less stress decreases. A joke about "we  climb down a mountain" in operation

11

Re: Jumps on the code

Hello, velkin, you wrote: V> And now we present that such information is not present. A question, whence the programmer takes knowledge that the feature 342 "   " is put in these lines of the code. Certainly, it is possible to analyze the code and to guess, but it besides says that the part of the information on development has been lost. Yes perfectly it works. The main thing not to forget to specify number  in issue tracker, under the chronicle then to recover who, where also that work does not make. Well and not to mix in one kommite/piece of the code a little , that editing under untied tasks not  each other.

12

Re: Jumps on the code

13

Re: Jumps on the code

Hello, Sinix, you wrote: S> Yes perfectly it works. The main thing not to forget to specify number  in issue tracker, under the chronicle then to recover who, where also that work does not make. S> well and not to mix in one kommite/piece of the code a little , that editing under untied tasks not  each other. Matter is not in  and especially not in that who also that wrote down, after all and the topic began: The matter is that almost always over the project I work alone. Therefore wrote not the specific code, and something like "" as it cannot be analyzed, and it is necessary to know in advance specified by the author of the code. Designing of architecture of the program, refactoring, its testing, documenting, not to mention coding, and as many other things only special cases of cogitative activity of the specific programmer. If to look at a topic further:  I write all to a notepad, all these microtasks, and at each jump I climb in notices not to forget. And quits that as a result it is necessary either to remember, or to write notices. But notices too can be more developed. For example, I say that the system of notices is badly developed as has no direct binding to the code. Even having notices, but without having specific instructions on the code, and especially possibility to open all bound code together, we receive system in which programmer is forced to use comparing. All as under the logic textbook, only with an abstraction on superfluous brain operations. And then there is a synthesis, code pieces merge together and for their analysis the analysis and comparing is again necessary. I to that sense not classifying all functional, that is to name spaces, classes, methods and that to similar mechanisms of specific language which in other language can and not to be. Question in more effective analysis and synthesis, and as saving of results not only at itself in a head, but also on the exterior material carrier. I do not remember in what book read, but to take the same , it would seem to eat the code, he can be read and understood, and can be to compile and launch. However the essential part of development process as programmers rarely describe is in most cases lost why they made this or that decision.

14

Re: Jumps on the code

Hello, licedey, you wrote: L> in general not to speak in a circumlocutory manner, I will pass to a question. You have a monster, you have a task. In between - an implementation precipice. How to retain in a head and to implement all microtasks? L> normal process  goes approximately so (on myself I judge). You should create a class (in the necessary folder) to create in it properties, then to connect it with UI, then to correct class Settings that it considered the made changes, in other class to create object, to pass in the necessary method . Generally, we permanently spring on the code. To the huge uncontrollable. And how easier to make, that these jumps were more productive and did not strain all brain. If it is your individual project you can define architecture itself. Well also organize architecture so that jumps was not so much. I do so - I have an engine, , and adjustments. All three essences are spread on ten files. But during each moment it is necessary to work only with one  and one  (total - two). In sense for an engine two, for  two and for adjustments two (all in one stage six). I work in Linux in KDE. I have the virtual screens. An engine on one screen,  on the second, adjustments on the third, on the fourth - a debugger. Actually everything, in a human maximum - 10 objects I was laid down.

15

Re: Jumps on the code

16

Re: Jumps on the code

Hello, licedey, you wrote: L> you look how many people groan in section Operation Well here as - someone groans, someone does. All duties are arranged, all are happy L> From your words, the decision - issue tracker, remaining solves a brain? First of all - absence of a brothel in the project, a brain already in a makeweight. Well both plus issue tracker and normal IDE, certainly, which is able to find dependences/places of usage/text in the air. Anything over it normally it is not required.

17

Re: Jumps on the code

Hello, velkin, you wrote: V> Matter is not in  and especially not in that who also that wrote down, after all and the topic began: The matter is that almost always over the project I work alone. And what difference? It not an occasion to plant in the project confusion to such level that routine actions started to create problems. As on me, on the contrary, "individual" projects should  all conceivable and inconceivable secures for more to hope there is nobody. V> therefore wrote not the specific code, and something like "" as it cannot be analyzed, and it is necessary to know in advance specified by the author of the code. A brothel, without insults. If without the aid of the person from existing artifacts (the code, tests, documentation and ) cannot be recovered that, what for and where, the code at us unsupported. For whom or except the author of value it represents no more, than  a stone. Well, i.e. only in respect of entertaining stories for the night. V> And quits that as a result it is necessary either to remember, or to write notices. , the documentation on the project should be conducted. Systematically. If there are problems with complexity of the project - mandatory with fixing in issue-trekere. Otherwise then the ends not to find and problems are silently saved, while the project will not be bent under the weight. V> even having notices, but without having specific instructions on the code, and especially possibility to open all bound code together, we receive system in which programmer is forced to use comparing. And search of dependences, at least in a type find all references - in any way? V> the Question in more effective analysis and synthesis, and as saving of results not only at itself in a head, but also on the exterior material carrier. Not the question - on an output turns out the DSL-notation which understands all possibilities of your language, but is read better and is able to be synchronized with the code. As on me to make such piece on pair orders it is more difficult, than to find the tool which is able to build a dependence graph. V> I do not remember in what book read, but to take the same , it would seem to eat the code, he can be read and understood, and can be to compile and launch. However the essential part of development process as programmers rarely describe is in most cases lost why they made this or that decision. A brothel, the sir

18

Re: Jumps on the code

L> How to retain in a head and to implement all microtasks? And In any way. L> And how easier to make, that these jumps were more productive and did not strain all brain. In any way. At you jumps not because the code or tools, the code and jumps only reflect model of your thinking

19

Re: Jumps on the code

Hello, licedey, you wrote: L> The matter is that almost always over the project I work alone. Projects of different value, well we tell the greatest occupy year-one and a half. L> and so an essence in what. I understand that hundred years as  everyones ,  and , with   through a shoulder. L> BUT! The customer writes - I want such that a feature, it should whistle, and behind at it should be  the motor. It was laid down in three lines. And like in appearance L> all is clear, think, , an easy thing for couple of days. BUT! You start to write the code, to break it into classes, then on properties, methods. Reaching implementation, L> which, far you go deep into a code jungle, observance of these  principles and prowhose that the yesterday's easy thing, turns in   L> which practically quits from under control.... The big project, 40 mbytes in EAR, only half - on exterior libraries. On Java. Wrote tens people from not one office of tens years. Hundred thousand calls and loadings of the data (in core XML, not often binary files) in day in flow of 2 weeks in the beginning of quarter. Not shop. I track all one plus the person if the DB (glory to reason is affected is connected still!) . And the sense has [already been lost. Initially. Even the documentation is not present. Any! By transmission decompiled source codes, what here the documentation? And the essence - is scattered necessarily on separate slices. It - yes. The brain gradually remembers all these thick. Small errors are eliminated, but application large, not adequate efforts. Now about the main thing. If to the customer and the main customer of this miracle something needs to be changed or added, he writes ! It practically always describes a problem precisely enough. Sometimes it is even not necessary to ring and specify. It seems that it is unique way to struggle really with bleed on a tree of thoughts of the customer and its Freudian desires. Which are uncontrollable. An essence of method  - ordering of thoughts of the customer and understanding it of principal thought - all vanity (Vanitas vanitatum et omnia vanitas).

20

Re: Jumps on the code

21

Re: Jumps on the code

Hello, licedey, you wrote: L> Pryg in UI,  in configs,  in a model class,  in a view-model class, back in UI. And this process is cyclic. Between these jumps, it is possible to lose any detail and generally to depart to space, reflecting on life. On what you write?

22

Re: Jumps on the code

Hello, VladD2, you wrote: VD> Hello, licedey, you wrote: L>> Pryg in UI,  in configs,  in a model class,  in a view-model class, back in UI. And this process is cyclic. Between these jumps, it is possible to lose any detail and generally to depart to space, reflecting on life. VD> on what you write? Nemerle well in the core on C#/C++

23

Re: Jumps on the code

Hello, licedey, you wrote: L> Nemerle In vain you joke. On  that just complexity to bridle on easier. L> well in the core on C#/C++ With Pluses all  on determination, and on Sharpe it is possible to use features of ReSharpera. There for navigation much that is. Including from  in the code and it is reverse. Still there is a method working everywhere, but demanding punctuality. You use tags in  type//#_ Well, and in remaining places (, , docks) you use these tags. Thus they should be unique, certainly. Further stupid search allows to find all connected. It and for pluses rolls.

24

Re: Jumps on the code

25

Re: Jumps on the code

Hello, VladD2, you wrote: VD> Hello, licedey, you wrote: L>> Nemerle VD> In vain you joke. On  that just complexity to bridle on easier. I do not joke, still 4 years ago your parcer c# the code used in the project. For what to you thanks. But it was not possible to mine anywhere any more. As it is possible to bridle complexity, I do not ask, but can tell. L>> well in the core on C#/C++ VD> With Pluses all  on determination, and on Sharpe it is possible to use features of ReSharpera. There for navigation much that is. Including from  in the code and it is reverse.  why that at me associates with an enormous general-purpose large object which only brakes studio. I understand certainly that the product good and ubiquitous, but me the same visual assist is closer. VD> still there is a method working everywhere, but demanding punctuality. You use tags in  type VD> VD>//#_ VD> VD> Well, and in remaining places (, , docks) you use these tags. Thus they should be unique, certainly. Further stupid search allows to find all connected. VD> it and for pluses rolls. I will consider.