11 Replies - 603 Views - Last Post: 01 May 2019 - 11:45 PM

#1 garbus   User is offline

  • New D.I.C Head

Reputation: 0
  • View blog
  • Posts: 27
  • Joined: 18-June 17

Most Efficient Way to Implement a Specification

Posted 01 May 2019 - 10:17 AM

What is the most efficient way to implement a spec? Should I just refer to it as a reference while coding, or should I study the whole spec and try to absorb all the information in the spec first? If so, what is the best way to study the spec? Is reading the same information over and over a sufficient method?

Also, can someone please move this thread into the software development forum? I posted it in the wrong forum.

This post has been edited by garbus: 01 May 2019 - 10:20 AM

Is This A Good Question/Topic? 0
  • +

Replies To: Most Efficient Way to Implement a Specification

#2 modi123_1   User is online

  • Suitor #2
  • member icon



Reputation: 15225
  • View blog
  • Posts: 60,941
  • Joined: 12-June 08

Re: Most Efficient Way to Implement a Specification

Posted 01 May 2019 - 11:23 AM

What do you mean by "a spec"?

Yes, it is a reference for what is needed to be implemented.
Preferably you would read the whole document, to get an idea what is needed, and then you would formulate how to break the problem down into programmable pieces.
Was This Post Helpful? 0
  • +
  • -

#3 garbus   User is offline

  • New D.I.C Head

Reputation: 0
  • View blog
  • Posts: 27
  • Joined: 18-June 17

Re: Most Efficient Way to Implement a Specification

Posted 01 May 2019 - 11:45 AM

By spec I mean a specification, as of a protocol.

When reading the whole document, should I attempt to absorb all of the information, or should I just read it without trying to retain anything?

This post has been edited by Skydiver: 01 May 2019 - 12:32 PM
Reason for edit:: Removed unnecessary quote. No need to quote the post above yours.

Was This Post Helpful? 0
  • +
  • -

#4 modi123_1   User is online

  • Suitor #2
  • member icon



Reputation: 15225
  • View blog
  • Posts: 60,941
  • Joined: 12-June 08

Re: Most Efficient Way to Implement a Specification

Posted 01 May 2019 - 11:49 AM

Okay, which protocol?

Implement in what sense?

I would suggest reading any documentation with the intention of getting a better handle on what is involved. I mean if you don't retain anything it wouldn't make much sense to read it, and you would still be left without a starting point.
Was This Post Helpful? 0
  • +
  • -

#5 garbus   User is offline

  • New D.I.C Head

Reputation: 0
  • View blog
  • Posts: 27
  • Joined: 18-June 17

Re: Most Efficient Way to Implement a Specification

Posted 01 May 2019 - 12:05 PM

Any protocol, such as a network protocol (XMPP, etc) or a file format protocol (PDF, etc).

Implement as in implement the code to provide an API that acts according to the protocol. In the case of XMPP, implement as in implement an API that can stream XML over a network according to the XMPP protocol. As in the case of PDF, implement an API that can read and write PDF documents.

Now the main problem is that when I read through a document, I don't seem to retain what I read. So how do I absorb all the information? Should I just read it over and over until I retain it?

This post has been edited by Skydiver: 01 May 2019 - 12:32 PM
Reason for edit:: Removed unnecessary quote. No need to quote the post above yours.

Was This Post Helpful? 0
  • +
  • -

#6 modi123_1   User is online

  • Suitor #2
  • member icon



Reputation: 15225
  • View blog
  • Posts: 60,941
  • Joined: 12-June 08

Re: Most Efficient Way to Implement a Specification

Posted 01 May 2019 - 12:17 PM

Okay.. so a big honker issue.

Regarding that specifically they have a section called "Good places for developers to start"
https://xmpp.org/extensions/

Overviews are good... same with focusing in on any 'core' issues. Follow up by looking at how other folk implemented them and see where you can get a toe hold in on the topic.
https://xmpp.org/abo...y-overview.html
Was This Post Helpful? 0
  • +
  • -

#7 garbus   User is offline

  • New D.I.C Head

Reputation: 0
  • View blog
  • Posts: 27
  • Joined: 18-June 17

Re: Most Efficient Way to Implement a Specification

Posted 01 May 2019 - 12:35 PM

View Postmodi123_1, on 01 May 2019 - 12:17 PM, said:

Okay.. so a big honker issue.

Regarding that specifically they have a section called "Good places for developers to start"
https://xmpp.org/extensions/

Overviews are good... same with focusing in on any 'core' issues. Follow up by looking at how other folk implemented them and see where you can get a toe hold in on the topic.
https://xmpp.org/abo...y-overview.html


Well, actually PDF is not a protocol.

But as for reading a spec, I know there are some helpful resources that explain things in a simpler way, but the main question I want answered is this: How do I absorb the information in a spec document? Do I just reread the information until I retain it?

You said that I need to read a spec to get a general idea so I can formulate the programmable pieces. What I need to know then is how to retain the information.

This post has been edited by garbus: 01 May 2019 - 12:37 PM

Was This Post Helpful? 0
  • +
  • -

#8 modi123_1   User is online

  • Suitor #2
  • member icon



Reputation: 15225
  • View blog
  • Posts: 60,941
  • Joined: 12-June 08

Re: Most Efficient Way to Implement a Specification

Posted 01 May 2019 - 12:41 PM

Like, I don't know man, on how you process stuff. If reading things over and over again does it then sure.. do it. I like to give things a once over and then find an entry point where I can start implementing things.. but even then I would rarely care to go about implementing my own take on a protocol and just use an existing solution where there are teams, or communities, devoted to making what ever work.

Rarely have I had a need to reinvent the wheel that hard. ;)
Was This Post Helpful? 0
  • +
  • -

#9 Skydiver   User is online

  • Code herder
  • member icon

Reputation: 7025
  • View blog
  • Posts: 23,857
  • Joined: 05-May 12

Re: Most Efficient Way to Implement a Specification

Posted 01 May 2019 - 12:47 PM

garbus: As you recall, (or likely don't if you are having problems retaining information about specs), in this forum there is no need to quote the post above yours. The protocol in this forum is to just use the big Reply button or the Fast Reply area. Only quote if you need to address a specific thing.

To answer your question: Different people have different approaches. Some people like to go top-down. Others like to go bottom-up. I personally, like to read the spec or RFC the first time with the idea of learning the big themes. I then do a second read to understand how things work in general, but trying to avoid getting bogged down in the details. It's usually during this second read that I start identifying what the minimum things I would need to get a simple, all happy-path implementation working. From there, I then go bottom-up to implement those bare necessity components. This usually involves 5-7 reads of a specific subset of paragraphs. When I get something up and running, I'll usually start adding on the other parts of the spec, as well as doing the special cases that are inevitably in almost every spec. This again involves multiple reads of subsets of paragraphs for the new sections, as well as, re-reading previously read paragraphs because often there is more learning and understanding going on.

I think what you need to understand that the modern software engineer is not like the old fashioned programmer. In the old days, a systems analyst and/or a systems architect would take care of breaking down the spec or RFC into smaller manageable pieces, create flowcharts or pseudo-code and then farm those out to programmers. Those days are gone unless you work for some very niche places (like NASA) which take the waterfall process to the extremes. Nowadays, a software has to do it all from end-to-end, as well as handle the creation of unit and integration tests.
Was This Post Helpful? 0
  • +
  • -

#10 Skydiver   User is online

  • Code herder
  • member icon

Reputation: 7025
  • View blog
  • Posts: 23,857
  • Joined: 05-May 12

Re: Most Efficient Way to Implement a Specification

Posted 01 May 2019 - 01:43 PM

Hmmm... I'm finding a common theme here in your threads:

View Postgarbus, on 07 July 2018 - 10:46 AM, said:

Now I am reading a book on compiler construction, (not the dragon book), but I am not sure how to absorb all the information.

So my question is: What is the best way to learn all the material in a book on computer science, such as one about compiler construction? Should I just study each chapter for a certain period of time, such as a day? I am not trying to get started coding a compiler right away, but to fully learn the theory of compilers, so that I can use the knowledge to implement a compiler.


View Postgarbus, on 09 November 2017 - 03:38 PM, said:

I need information that is free and arranged in a way that maximizes learning. I tried reading the CLR Spec but the volume and arrangement of the information is intimidating. I want to know where I can find free ebooks or tutorials that teach the language.

Should I simply read the CLR Spec? How would I best make use of it since no one can absorb all the information just by reading through it?


View Postgarbus, on 06 July 2017 - 02:55 PM, said:

Now this my trouble: I want to develop UWP apps according to the right standards, something which requires me to know all that is contained in the articles on design, but after reading through a number of those documents, I find myself to be forgetting the information; and moreover, as some have advised me, I should not be worrying about design, but learning UWP concepts and APIs by practice through coding until I have a sufficient grasp of them. Unfortunately, there are numerous articles on UWP development in MSDN, and since they are numerous and arranged in no particular order, I do not how to begin.

So should I read through all the documents about UWP on MSDN, trying to commit to memory those things which cannot be coded right away, and applying for practice those things that can? Or should I practice coding all the sections that cover the API and worry about design afterward? And how can I make it through all of the articles covering the APIs? Do programmers ever learn every API in a framework before they begin any serious development? (I am not speaking of every single API, but of those covered in the how-to articles).

Was This Post Helpful? 0
  • +
  • -

#11 Skydiver   User is online

  • Code herder
  • member icon

Reputation: 7025
  • View blog
  • Posts: 23,857
  • Joined: 05-May 12

Re: Most Efficient Way to Implement a Specification

Posted 01 May 2019 - 07:45 PM

Just to be fair, I'm equally guilty of something similar when it comes to integral calculus and differential equations. I just want the shortcut. I often find myself going: "Why do I need to figure out the simplest integral form? Why can't somebody just give that to me? What value is it for me to come up with the same formula they would have given me anyway?" OR "Why can't I just use numerical methods to solve differential equations?"
Was This Post Helpful? 0
  • +
  • -

#12 andrewsw   User is offline

  • never lube your breaks
  • member icon

Reputation: 6813
  • View blog
  • Posts: 28,189
  • Joined: 12-December 12

Re: Most Efficient Way to Implement a Specification

Posted 01 May 2019 - 11:45 PM

As already hinted at, just forcing yourself to reread many times, hoping that the information will be absorbed, is not a good approach. Also, you are not reading a novel*; you are reading a technical document that needs to be broken down.

Read it once through to get the broad picture, occasionally skimming more detailed information that isn't essential on a first read. You can then read it a second time with a clearer idea of what it contains, what are the main points, and how it is structured. At this point you can start to make your own, outline, notes. You can then start to read certain specific parts of it in greater detail. Each reading - or re-reading of sections - has a slightly different focus. You can review your notes, and do some investigating, between reads.

Mind you, what we are saying here is not rocket science. It is mainly just common sense. I suppose you could search "how to read technical document" or similar to try a find a perhaps more "formal" description of the process.



* Studying a novel for an exam would require a similar approach.
Was This Post Helpful? 0
  • +
  • -

Page 1 of 1