What is the best way to make sense of an applications code?


Hello again! I want to know what the best way to approach understanding how an application works is. I have a game that is highly moddable with Lua and I would actually like to do that. The problem is I don't know how to make sense of it all. There are maybe a hundred to 150 lua files to sift through.


Besides using the "find in files" feature in most scripting applications how else could I find out how everything or just a few pieces of it work? If I wanted to do just a few small mods what would be the best way to do that? Must I understand the entire picture or just select parts of it? This is something I have never done before. I hope this isn't a pointless question that can't be answered.
This is indeed something of a problem. It is always difficult to jump into a new and large code-base. You should concentrate on any available overview documentation (e.g., explaining how it works or is structured), tutorials (e.g., showing how to make mods), and reference documentation (e.g., class references).


If you need to really dig into the source code of the library / application, then you need to find a relevant starting point. This could be something that is similar to what you want to do or modify. When you find a decent starting point, just look it up and try to understand what it does and how it works, and work your way out from there, by looking up related code (e.g., that is called within that code you are looking at, etc.). The "find in files" is definitely a central tool when exploring a code-base because it gives you an instant snapshot of where certain things are used and declared. For example, if you want to modify the behavior of class A, then there is a good chance that you will want to look at all the places where class A is used so that you can assess if your modified version will work or if you need to modify other things.


There is no doubt that doing this is hard and takes a lot of patience. I've done this several times with different code bases (some small ( < 50,000 LOCs ), some big ( > 1,000,000 LOCs )), and it's always a tedious process, especially if documentation is lacking (which it very often is).
this question is a bit harder to answer than it appears on the surface, because there really is a lot to programming, so a specific field of interest to narrow the search could help narrow the list.

zorin os ultimate comes with a lot of useful programming applications that i would not have otherwis… even if you get the binary contents, decoding it is quite the undertaking. you can find the format specs here if you want to try it, though:

[image]

[png specification: file structure](http://www.libpng.org/pub/png/spec/1.2/png-structure.html)

there are existing implementations in lua, such as [this one](https://github.com/delusionallogic/pnglua), but they don’t cove… not [full disclosure] a linux person per se.

something similar to the following should work:

https://www.unix.com/shell-programming-and-scripting/68166-converting-integer-string.html

start simple with just enough code to test the concept.

see if it works and modify/correct as necessary.

then if it still does not work, then post your documented code accordingly along an explanation of what is or is not happening as you expect or desire. ![A Software Test Engineer](https://cpentalk.com/?qa=blob&qa_blobid=12836291948296319823)

Testing is a process, which shows a program does what it is intended to do and it helps to discover program defects before it is put into use. 


> It is not necessary for a program to be completely free of defects before it is delivered to its customers because it is not always (99% of the time) possible to deliver a defect free product to the customer which is of 100% quality.
> 
> 

And testing cannot completely validate that a system is fit for its intended purpose as this requires a detailed knowledge of what that purpose will be and exactly how the system will be used. As these details inevitably change between deciding to procure a system and deploying that system, the testing will be necessarily incomplete.

In addition, it is practically impossible for all except trivial system to have a complete test set that covers all possible ways that the system is likely to be used.

**A program need not be completely free of defects before delivery if:**

1. Remaining defects are minor defects that do not cause system corruption and which are transient i.e. which can be cleared when new data is input.

2. Remaining defects are such that they are recoverable and a recovery function that causes minimum user disruption is available.

3. The benefits to the customer's business from the system exceed the problems that might be caused by the remaining system defects.





Please leave a comment below if you found this answer helpful. Happy learning! there is no need for a program to do that. 

here are some simple steps which you can follow:

1.right click on your taskbar and choose start task manager.

2.once task manager is opened go to "processes" tab. 

3.when at the processes tab search for .exe file. (maybe in your case it will look like loop.exe or something) 

4.once you have found it. just right-click on it and hover over to "set priority" option. 

5.here are several options. the default one will be "normal" so just set that to "below normal" or "low". (i would prefer setting it to "below normal" so that it does not act strangely) 

6.it's done now restart your program and check the amount of ram it is using.

i hope this helps you. if not leave a reply and i will figure out another solution. glad to help.:) How you do this will depend on a number of factors: since you haven't tried to explain in any detail, I'll assume you know nothing, and just give you the basics.  

  

The easiest way to do this is to read the text file into a single string, and then use the .NET framework to find the match:  


```
Dim text As String = File.ReadAllText("D:\Temp\MyFile.txt")
Dim index As Integer = text.IndexOf("hello")
If index >= 0 Then
   ' String is in file, starting at character "index"
End If
```
  

There are other ways, but that is pretty much the simplest. reading assignment for this week you should read all of chapter 2 of the textbook. when you read the test that  involves running r script you are expected to run the code by yourself on your computer, in  parallel to reading it in the textbook, and compare what you get with the output presented in the  textbook. chapter 2: sampling and data structures section 2.1 student learning objectives section 2.2 the sampled data      2.2.1 variation in data      2.2.2 variation in samples      2.2.3 frequency      2.2.4 critical evaluation section 2.3 reading data into r      2.3.1 setting the working directory      2.3.2 reading a csv file into r      2.3.3 data types section 2.4 solved exercises section 2.5 summary assignment Statement of work !! Can you try to explain what is that needed from this forum please … 


It’s kind of 


1. Overview  

2. Requirements  

3 Scoping  

4. Architecture design  

5. High level design  

6. Testing /pilot  

7. Solution design guide  

8. Production pilot This is a site for helping people with computers, programming and networking issues. If you need assistance you need to provide as much detail as you can as we cover a wide range of knowledge. List your device, operating system like Windows, Linux or Mac, the program or application and any error messages. This will help us in getting  you a faster and more accurate response. We all have areas of different expertise , otherwise all we can provide is our best guess answer. You would be better off contacting Bissel for support. You may also want to check out YouTube.. They have lots of [repair videos](https://www.youtube.com/watch?v=56IPl2r-Wks) Not likely. If a script can't work, then it also can't detect that it's not working... The workaround is to create a warning message that's always visible by default and then use a script to hide it (for example, by making a field that's placed on top of it hidden). If the script executes, the message is hidden when the file is opened. If it's not, the message remains visible.