N
N
nolouds2021-10-02 10:00:01
Visual Studio Code
nolouds, 2021-10-02 10:00:01

What are some ways to facilitate the process of testing and editing code?

I use Visual Studio Code, most likely I do not use it to the maximum, but I'm not sure what exactly I need to use in it or maybe switch to another editor that is more convenient.

Usually I write the code in one file, if it doesn’t work as it should, I think it through and in order not to lose the original look, I create a new file (test1, test2, test3), transfer the code there and redo it, and if anything I return to the first option. Thus, I accumulate a lot of garbage, because I forget to delete and in general it is not very convenient, and I can get confused in the files, especially if I solved many tasks in a short time. To test the code, I insert print() lines between different lines of code and monitor the output that way. If I need to edit and check only part of the code, again I create a new file and test the piece of code there.

I know that there is a terminal and it seems like you can check a piece of code there, but for example, if I want to check the data type of a variable, I need to copy all the code associated with the variable to the terminal, otherwise it will not understand where the variable came from, etc. I also know about GIT technology, but I'm not sure if I should use it for algorithmic Olympiad problems?

Therefore, please advise ways to simplify testing and code editing as much as possible.

Answer the question

In order to leave comments, you need to log in

3 answer(s)
R
Ronald McDonald, 2021-10-02
@Zoominger

There is only one solution here - take a sheet, a pen and paint the algorithm before you start implementing it. First, with a diagram (you can use a flowchart), then with words, then write code.

A
Alexander, 2021-10-02
@Aleksandr-JS-Developer

Problem with "test1, test2, test3"
All over the civilized world, whatever problems with "test1, test2, test3" use Git.
Create a new branch and post. It works - you pour it into the main one, if not - you delete it.
At first, it’s a little stressful, especially if you haven’t worked with Git at all, but then, on the next rollback to one command in the terminal, you understand how convenient it is.
If I need to edit and check only part of the code, again I create a new file and test the piece of code there.
I use online sandboxes in my work. Especially when you need to develop some tricky function in a large and complex application.
ways to make testing and editing code as easy as possible.
As mentioned above, think before you start writing code. Understand how you will solve it. Think through the algorithm you want to write. If this is not done, then no editor and none of its capabilities can help you.

For example, todolist

Ок, что нужно? Вывод списка на экран, написание нового пункта в список, после перезагрузки программы нужно сохранять список и возможность удаления пункта.
Хорошо, нам нужно состояние, которое хранит список, функция рендеринга и чтение/запись списка в файл. Ой, забыл про пользовательский ввод, он тоже нужен.
Что будет происходить, когда программа будет запущена?
Первым делом, читаем файл с записями. Если не пусто, то записываем в состояние список.
Дальше выводим на экран список. Ага, тут надо подумать, что выводить, если список пуст.
Затем ждём ввода пользователя. При нажатии на кнопку "добавить", добавляем пункт в список, рендерим список... и т. д.

It can be a drawing on a piece of paper, it can be text, it can even be chalked with Chinese characters on the pavement. In practice, more experienced programmers have done similar tasks before and it's easy for them to think it through in their mind.
For projects larger than ToDo List, documentation is compiled. The documentation is almost the same as what I wrote, only for the entire application. At the stage of writing documentation, the application is developed. Testing is carried out by testers, security holes are searched for and bugs are removed not in the code, but in the documentation.
Then programmers write code according to the documentation... At least they should write according to the documentation.
What happens if you cut with a team without documentation
Хотя некоторые небольшие команды умудряются не вести и не разрабатывать документацию, а сразу писать код... Видал я таких. Пилили как-то раз интернет магазин. Без документации. Стек PHP(Bitrix)+JS, только хардкор. Был ТЗ в вордовском файле на шесть страниц теста с картиночками и макет из Figma. Так вот, когда писали что-то новое - старое, каким-то магическим образом отваливалось. Чинили, отваливалось что-то ещё. Чинили что-то ещё, отваливалось первое и так по кругу. Понятное дело, что весь фронт до нас пилили бекендеры. Никогда не видел столько говнокода на CSS и HTML. Веселуха непередаваемая. От одного только названия уже тошнило всю команду. Больше всего тошнило от проекта PM, который был за него в ответе. Только к концу проекта я случайно узнал, что там подключен VueJS (Front-end фреймворк). Он там подключён был только для того, чтобы вывести один элемент на экран. В рантайм улетает целый фреймворк, чтобы отрисовать один элемент.
Ни о какой систематической архитектуре и речи не идёт.
Ещё немного слоёв нового функционала и технический долг просто съест весь бюджет и время. Всю кодовую базу можно будет выкинуть на помойку, а лучше просто удалить, чтобы кто, не дай Боже, не попробовал запустить его.
Что в итоге там вышло я не знаю, я ушел из компании до его сдачи. Но ничего хорошего уж точно.

A
Alexander, 2021-10-02
@Sanyum

I know that there is a terminal and it seems like you can check a piece of code there ...

To debug the pieces, I use all sorts of online services. In Google, you type <programming_language> online". For example: https://www.google.com/search?q=python+online . You just need to pay attention to the available / offered versions of the interpreters.

Didn't find what you were looking for?

Ask your question

Ask a Question

731 491 924 answers to any question