android-calculator's Introduction
android-calculator's People
android-calculator's Issues
Ревью #1
-
Лишние комментарии лучше нужно убирать
-
Эти переменные должны быть
private
, потому что используются только внутри класса активити
-
findViewById
конечно жизнеспособный вариант, но порождает кучу лишнего кода. Куда проще и лучше использоватьViewBinding
-
Операции лучше сделать с помощью
enum
. Когда операции нет в переменной можно хранитьnull
. Так уйдет сравнение строк, которое чревато ошибками
-
Мило, но этому к сожалению тут не место
-
Это условие делать трижды одну и ту же операцию. Вопрос, зачем оно тогда тут нужно? С условием ниже похожая история.
Android-Calculator/app/src/main/java/com/example/calculator/MainActivity.kt
Lines 172 to 176 in 19f4868
-
Всю конструкцию с регуляркой можно записать проще и понятнее. А будь
enum
и того проще.
Android-Calculator/app/src/main/java/com/example/calculator/MainActivity.kt
Lines 202 to 204 in 19f4868
oldValue.lastOrNull()?.toString() in listOf("%", "/", "*", "-", "+")
-
Вывести Toast с сообщением об ошибке было бы быстрее, чем написать этот комментарий
Android-Calculator/app/src/main/java/com/example/calculator/MainActivity.kt
Lines 219 to 221 in 19f4868
-
Точки с запятой в Kotlin не нужны. Кроме одного случая
-
Это можно записать куда проще
private fun isFloat(value:String) = value.indexOf('.') != -1
-
Эта цифра
8
так и просится в константу
-
Использовать второй Constraint в верстке не нужно. Все это верстается в одном лайауте. Так только перегружаешь лишний раз экран
-
Ширину и высоту лучше не выносить в стили. Так теряется гибкость твоего стиля.
Android-Calculator/app/src/main/res/values/styles.xml
Lines 8 to 9 in 19f4868
-
Вот за это убивать надо. Я понимаю, что так код стал короче и проще обработка, но понятность резко потерялась. Установить клик быстро на несколько элементов можно с помощью
Group
-
Любые строковые значения (и цвета тоже) должны быть в ресурсах и использоваться оттуда. Неважно используешь ты их в коде или верстке.
-
То что знаешь и используешь Guideline хорошо, но тут явно перебор с ними. Все это можно сделать просто с помощью обычных привязок и
Chain
-
Лучше не оставлять в верстке элементов с дефолтными
id
. Теряется читаемость твоего кода.
-
Вот так приложение выглядит в альбомной ориентации. Скорее всего всему бедой размер шрифта + Guideline
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.