DEV Community

Dhruv Joshi
Dhruv Joshi

Posted on Edited on

10 Things Every Developer Should Add to Their Code in 2026

Writing code that works is easy.

Writing code that is easy to understand, test, debug, secure, review, and maintain six months later is much harder.

And that challenge has become even more important in 2026.

Developers now have access to AI coding assistants, code-generation tools, massive package ecosystems, cloud platforms, reusable APIs, and increasingly automated development workflows.

We can produce code faster than ever.

But faster code generation creates a new engineering problem:

How do you make sure the code you ship is actually understandable, reliable, secure, and maintainable?

The answer is not another framework.

It is developing better coding habits.

This guide covers 10 things every developer should add while coding in 2026, whether you're learning programming, building side projects, contributing to a large codebase, or shipping production applications.


TL;DR: What Should Every Programmer Add to Their Code?

Good production code should include:

  1. Meaningful variable and function names
  2. Useful comments and documentation
  3. Consistent formatting, linting, and type checks
  4. Input validation and proper error handling
  5. Appropriate data structures and algorithms
  6. Modular code with clear responsibilities
  7. Automated tests and AI-code verification
  8. Logging and observability
  9. Dependency, secret, and security hygiene
  10. Good Git, commit, and code-review practices

If you're already doing all ten consistently, you're well ahead of many codebases.

Let's break them down.


Why These Coding Practices Matter More in 2026

Modern software development has changed.

AI coding assistants can now help developers:

  • Generate functions
  • Refactor code
  • Write tests
  • Explain unfamiliar repositories
  • Debug errors
  • Generate documentation
  • Review pull requests
  • Suggest architectural changes

According to the Stack Overflow Developer Survey 2026, coding assistants and coding agents have become the most common AI use case among developers.

But developers are not simply accepting generated code blindly.

Most developers still verify AI-generated answers by:

  • Running the code locally
  • Comparing it against their existing codebase
  • Inspecting tests and security implications
  • Checking documentation

That tells us something important:

In the AI coding era, writing code quickly is becoming easier. Verifying code quality is becoming more valuable.

The following habits help you do exactly that.


1. Add Meaningful Variable and Function Names

Good naming is one of the simplest ways to improve code quality.

A variable name should communicate what the value represents.

A function name should communicate what the function does.

Poor naming

const d = 30;
const x = users.filter(u => u.a);
Enter fullscreen mode Exit fullscreen mode

Someone reviewing this code needs additional context:

  • What is d?
  • Why is it 30?
  • What does a mean?
  • What does x contain?

Better naming

const trialPeriodDays = 30;

const activeUsers = users.filter(
  user => user.isActive
);
Enter fullscreen mode Exit fullscreen mode

The second example explains itself.

Another example

Instead of:

function calc(a, b) {
  return a - b;
}
Enter fullscreen mode Exit fullscreen mode

Use:

function calculateRemainingBalance(totalAmount, paidAmount) {
  return totalAmount - paidAmount;
}
Enter fullscreen mode Exit fullscreen mode

Good naming guidelines

Prefer names that describe:

  • Purpose
  • State
  • Units
  • Business meaning
  • Expected result

For booleans, names such as these are often easier to understand:

isAuthenticated
hasPermission
canEdit
shouldRetry
isLoading
Enter fullscreen mode Exit fullscreen mode

For functions, use action-oriented names:

calculateTotal()
validateEmail()
fetchUserProfile()
sendInvoice()
deleteExpiredSessions()
Enter fullscreen mode Exit fullscreen mode

Avoid unnecessary abbreviations

This:

const usrCnt = 12;
Enter fullscreen mode Exit fullscreen mode

is usually less readable than:

const userCount = 12;
Enter fullscreen mode Exit fullscreen mode

You may type a few extra characters.

But code is usually read far more often than it is written.

Good names reduce the amount of documentation required to understand your code.


2. Add Useful Comments and Documentation

Comments are valuable.

Bad comments are not.

Consider this:

// Add one to count
count++;
Enter fullscreen mode Exit fullscreen mode

The comment provides no information the code did not already provide.

Useful comments usually explain why, not what.

Better example

// Keep this below the API gateway's 30-second timeout
// so our application can handle the failure gracefully.
const REQUEST_TIMEOUT_MS = 25_000;
Enter fullscreen mode Exit fullscreen mode

Now the comment preserves context that is not obvious from the code.

Comments are useful for explaining:

  • Non-obvious business rules
  • Temporary workarounds
  • Architectural decisions
  • Security requirements
  • Performance trade-offs
  • Browser or platform limitations
  • External API behavior
  • Migration constraints

Avoid this

// Check if user is admin
if (user.role === "admin") {
  // ...
}
Enter fullscreen mode Exit fullscreen mode

The code already explains the condition.

But this may be valuable:

// Admin access is checked here rather than in the UI
// because authorization must always be enforced server-side.
if (user.role === "admin") {
  // ...
}
Enter fullscreen mode Exit fullscreen mode

Now the comment captures an important architectural and security decision.


Documentation Matters Even More With AI Coding Tools

Good documentation no longer helps only humans.

It can also provide context to AI coding assistants working with your repository.

Useful repository documentation can include:

  • README files
  • API contracts
  • Architecture decisions
  • Setup instructions
  • Contribution guidelines
  • Coding conventions
  • Test examples
  • Database schema documentation
  • Deployment instructions

The better your project's context, the easier it becomes for both humans and development tools to reason about the code correctly.

Document decisions, not obvious syntax.


3. Add Consistent Formatting, Linting, and Type Checks

Developers should not spend code-review time arguing about spaces, semicolons, indentation, or quotation styles.

Automate those decisions.

Depending on your stack, your project may benefit from:

  • A formatter
  • A linter
  • Static analysis
  • Type checking
  • Pre-commit hooks
  • CI validation

For JavaScript and TypeScript projects, that might include tools such as:

Prettier
ESLint
TypeScript
Enter fullscreen mode Exit fullscreen mode

Other programming ecosystems have their own equivalents.

Why automated formatting matters

Consistent formatting improves:

  • Readability
  • Pull-request reviews
  • Collaboration
  • Maintainability
  • Diff quality

It also eliminates unnecessary formatting discussions.

But formatting is not enough

A formatter can make this:

function process(a, b, c) {
  // complicated logic
}
Enter fullscreen mode Exit fullscreen mode

look consistent.

It cannot tell you whether process, a, b, and c are good names.

Likewise, linting may catch questionable patterns, but it cannot determine whether your entire architecture makes sense.

Think of these tools as automated guardrails, not replacements for engineering judgment.

A useful workflow

Write code
    ↓
Format automatically
    ↓
Run linting
    ↓
Run type checks
    ↓
Run tests
    ↓
Review the final diff
Enter fullscreen mode Exit fullscreen mode

The more routine checks you automate, the more attention developers can spend on actual logic.


4. Add Input Validation and Proper Error Handling

Production systems fail.

Networks fail.

APIs time out.

Users enter unexpected values.

Databases become unavailable.

Tokens expire.

Files disappear.

External services return incorrect responses.

Good code assumes these situations can happen.


Validate input early

Never assume user input is valid.

Instead of:

function createUser(email) {
  return database.users.create({ email });
}
Enter fullscreen mode Exit fullscreen mode

validate the data before relying on it.

For example:

function createUser(email) {
  if (!email || !email.includes("@")) {
    throw new Error("A valid email address is required.");
  }

  return database.users.create({ email });
}
Enter fullscreen mode Exit fullscreen mode

Real applications may use a schema-validation library rather than manual conditions, but the principle remains the same.

Validate data at trust boundaries.

Examples include:

  • API requests
  • Form submissions
  • Webhooks
  • Imported files
  • Database input
  • Third-party API responses
  • AI-generated structured output

Do not silently swallow errors

Avoid this:

try {
  await saveOrder(order);
} catch (error) {
  console.log("Error");
}
Enter fullscreen mode Exit fullscreen mode

You have lost almost all useful debugging context.

A better approach might look like:

try {
  await saveOrder(order);
} catch (error) {
  logger.error("Failed to save order", {
    orderId: order.id,
    error: error.message
  });

  throw error;
}
Enter fullscreen mode Exit fullscreen mode

The exact implementation depends on your application.

The important point is to preserve useful context.

Good error handling should consider:

  • What failed?
  • Why did it fail?
  • Can the application recover?
  • Should it retry?
  • What should the user see?
  • What should developers see?
  • Should this trigger an alert?

Also avoid exposing internal error details, stack traces, credentials, or sensitive information to end users.

Handle failures intentionally instead of pretending they will never happen.


5. Add Appropriate Data Structures and Algorithms

Choosing the correct data structure can dramatically simplify a solution.

But this does not mean trying to use the most advanced algorithm you know.

The goal is to choose the structure that best fits the problem.

Common examples include:

  • Arrays
  • Objects
  • Maps
  • Sets
  • Queues
  • Stacks
  • Trees
  • Graphs

Example: checking for duplicate values

You could repeatedly search an array:

const uniqueUsers = [];

for (const user of users) {
  if (!uniqueUsers.includes(user.id)) {
    uniqueUsers.push(user.id);
  }
}
Enter fullscreen mode Exit fullscreen mode

Depending on the data, a Set can express the intention more clearly:

const uniqueUserIds = new Set(
  users.map(user => user.id)
);
Enter fullscreen mode Exit fullscreen mode

Ask these questions

When choosing a data structure:

  • How frequently will I search it?
  • Do I need ordering?
  • Can values repeat?
  • Do I need key-value relationships?
  • Will the dataset become large?
  • Is memory usage important?
  • Is readability more valuable than a theoretical optimization?

Understand Time and Space Complexity

You do not need to calculate Big O notation for every line of code.

But understanding basic complexity helps you recognize potentially expensive operations.

For example:

for (const user of users) {
  for (const order of orders) {
    // ...
  }
}
Enter fullscreen mode Exit fullscreen mode

may become expensive when both collections become large.

But this does not mean every nested loop needs immediate optimization.

The real rule is:

Understand complexity, measure real bottlenecks, and optimize where it actually matters.

Do not make code unreadable to solve a performance problem that does not exist.


6. Add Modular Code With Clear Responsibilities

Large functions become difficult to:

  • Understand
  • Test
  • Reuse
  • Debug
  • Review
  • Modify safely

Consider:

async function registerUser(data) {
  // validate input
  // check existing user
  // hash password
  // create database record
  // send email
  // generate analytics event
  // update CRM
  // create audit record
}
Enter fullscreen mode Exit fullscreen mode

That function is responsible for many different concerns.

Depending on the application, those responsibilities might be separated into clearer functions or services.

For example:

validateRegistration(data);

const user = await createUser(data);

await sendWelcomeEmail(user);

await trackRegistration(user);
Enter fullscreen mode Exit fullscreen mode

Now each piece has a clearer role.


But Do Not Over-Abstract

Modularity does not mean:

"Turn every three lines of code into another abstraction."

This can be just as harmful as giant functions.

Bad abstractions create:

  • Extra files
  • Extra interfaces
  • Extra navigation
  • Indirection
  • More concepts developers need to understand

The goal is high cohesion and low unnecessary coupling, not the maximum possible number of modules.

A useful question

Ask:

"Does separating this logic make the code easier to understand, test, reuse, or change?"

If not, the abstraction may not be helping.


7. Add Automated Tests and Verify AI-Generated Code

Testing has always mattered.

AI-assisted coding makes it even more important.

Generated code can look perfectly reasonable while containing:

  • Incorrect assumptions
  • Missing edge cases
  • Outdated APIs
  • Hallucinated methods
  • Security problems
  • Subtle business-logic errors

This means your workflow should not be:

Ask AI
↓
Copy code
↓
It compiles
↓
Ship it
Enter fullscreen mode Exit fullscreen mode

Use:

Generate suggestion
↓
Understand the code
↓
Compare it with the requirement
↓
Check APIs and documentation
↓
Run locally
↓
Run tests
↓
Review security implications
↓
Inspect the final diff
↓
Ship
Enter fullscreen mode Exit fullscreen mode

What Should You Test?

Start with behavior where failure would matter.

Prioritize:

  • Core business logic
  • Authentication
  • Authorization
  • Payments
  • Data transformations
  • API contracts
  • Validation
  • Important calculations
  • Failure scenarios
  • Regression-prone code
  • Critical user journeys

Example

function calculateDiscount(total, isPremiumUser) {
  if (isPremiumUser && total >= 100) {
    return total * 0.9;
  }

  return total;
}
Enter fullscreen mode Exit fullscreen mode

Useful tests could include:

expect(calculateDiscount(200, true)).toBe(180);
expect(calculateDiscount(50, true)).toBe(50);
expect(calculateDiscount(200, false)).toBe(200);
expect(calculateDiscount(100, true)).toBe(90);
Enter fullscreen mode Exit fullscreen mode

These cover different behaviors and a boundary condition.


Before Using AI-Generated Code, Ask These 8 Questions

  1. Do I understand what the code does?
  2. Does it actually solve the requested problem?
  3. Are the APIs and packages real and current?
  4. Does it match the architecture of this codebase?
  5. What happens when the input is invalid?
  6. Are authentication or authorization checks missing?
  7. Could it create a security or privacy issue?
  8. What tests would prove that it works?

If you cannot explain the generated code during a pull-request review, you probably should not ship it yet.

AI can generate code. Developers still own the consequences.


8. Add Logging and Observability

A feature working locally does not tell you how it behaves in production.

That is why modern applications need observability, not only console.log().

Depending on your application, observability may include:

  • Structured logs
  • Metrics
  • Traces
  • Error tracking
  • Performance monitoring
  • Health checks
  • Alerts
  • Request IDs
  • Audit logs

Weak logging

console.log("Something failed");
Enter fullscreen mode Exit fullscreen mode

Imagine seeing that at 2 AM.

It does not tell you much.

Better logging

logger.error("Payment request failed", {
  orderId: order.id,
  paymentProvider: "example-provider",
  errorCode: error.code
});
Enter fullscreen mode Exit fullscreen mode

Now developers have useful context.

Be careful with sensitive information

Never casually log:

  • Passwords
  • Authentication tokens
  • API keys
  • Private keys
  • Credit-card information
  • Sensitive personal data

Observability should help you investigate failures without creating another security problem.


Ask Production Questions Before Production

Before shipping an important feature, consider:

  • How will I know if this fails?
  • What will appear in the logs?
  • Can I trace a failed request?
  • Will anyone be alerted?
  • Can I identify affected users?
  • Can I distinguish application errors from dependency failures?
  • Can I safely reproduce the problem?

A system you cannot observe becomes extremely difficult to operate.

Code quality does not stop when the code passes its tests.


9. Add Dependency, Secret, and Security Hygiene

Modern applications depend heavily on third-party code.

One command can install dozens or hundreds of transitive dependencies.

That makes dependency management part of software security.

Before adding another package, ask:

"Do I actually need this dependency?"

A dependency may save hours of engineering work.

That can be an excellent trade-off.

But adding a package to avoid writing five simple lines of code may not be.

Good dependency hygiene includes:

  • Remove unused dependencies.
  • Keep important dependencies updated.
  • Review major-version changes.
  • Use lock files appropriately.
  • Monitor known vulnerabilities.
  • Prefer maintained libraries.
  • Review package ownership and reputation.
  • Pay attention to transitive dependencies.
  • Keep runtimes supported and patched.
  • Scan dependencies in CI where appropriate.

Never Put Secrets in Source Code

Avoid:

const STRIPE_SECRET_KEY = "sk_live_...";
Enter fullscreen mode Exit fullscreen mode

Prefer environment-aware secret management:

const stripeSecretKey =
  process.env.STRIPE_SECRET_KEY;
Enter fullscreen mode Exit fullscreen mode

For production systems, organizations may use dedicated secret-management platforms.

Secrets include:

  • API keys
  • Database passwords
  • Access tokens
  • Private keys
  • Signing keys
  • Cloud credentials

And remember:

Deleting a secret from the latest Git commit does not necessarily remove it from Git history.

If a real secret has been committed or exposed, rotate or revoke the credential.

Do not simply hide the line and assume the problem is solved.


Software Supply Chain Security Is Now a Core Development Concern

Security is no longer only about protecting your own source code.

Modern applications rely on:

  • Package registries
  • Build systems
  • CI/CD pipelines
  • IDE extensions
  • Cloud services
  • Container images
  • Third-party APIs
  • Open-source libraries

A weakness anywhere in that chain can affect your application.

That is why dependency review and update management should be part of normal software development, not something teams think about only after a vulnerability is announced.


10. Add Good Git, Commit, and Code-Review Practices

Version control is not merely a backup tool.

Git provides:

  • Change history
  • Collaboration
  • Code review
  • Rollbacks
  • Debugging context
  • Release traceability

But simply using Git does not mean you're using it effectively.

Avoid giant commits

Bad:

updated project
Enter fullscreen mode Exit fullscreen mode

Better:

fix duplicate payment submission during checkout
Enter fullscreen mode Exit fullscreen mode

The second message tells another developer what actually changed.

Prefer small logical commits

A good commit represents one understandable change.

Avoid mixing:

authentication refactor
+
CSS redesign
+
database migration
+
dependency upgrade
+
bug fix
Enter fullscreen mode Exit fullscreen mode

into one enormous commit unless those changes genuinely need to be atomic.


Keep Pull Requests Reviewable

Huge pull requests are difficult to review properly.

Reviewers become tired.

Important bugs become easier to miss.

Focused pull requests make it easier to understand:

  • What problem is being solved
  • Why the change exists
  • What changed
  • How it was tested
  • What could break
  • How it can be rolled back

Before requesting review, read your own diff.

You may catch:

  • Debugging logs
  • Accidental files
  • Dead code
  • Duplicate logic
  • Incorrect names
  • Unused imports
  • Secrets
  • AI-generated comments
  • Unnecessary formatting changes

Always review your own code before asking someone else to review it.


Also Read: Code Review Best Practices

Code Review Best Practices: Ensuring Quality and Collaboration

A successful code review follows a some-step process, including understanding the code's purpose and functionality. Know more how improve the quality and security.

favicon quokkalabs.com

A Practical 2026 Coding Checklist

Before opening a pull request, ask yourself:

Readability

  • [ ] Are variable and function names clear?
  • [ ] Can another developer understand this code without asking me?
  • [ ] Did I remove unnecessary complexity?
  • [ ] Do comments explain why rather than obvious syntax?

Correctness

  • [ ] Does the code solve the actual requirement?
  • [ ] Have I considered edge cases?
  • [ ] Is input validated?
  • [ ] Are failure scenarios handled?

AI-generated code

  • [ ] Do I understand generated code before using it?
  • [ ] Did I verify generated APIs and dependencies?
  • [ ] Did I compare it with the existing codebase?
  • [ ] Did I test the generated implementation?

Security

  • [ ] Are secrets outside the source code?
  • [ ] Is sensitive data protected?
  • [ ] Are authorization checks performed server-side where required?
  • [ ] Did I introduce unnecessary dependencies?
  • [ ] Are dependencies maintained?

Testing

  • [ ] Are important behaviors tested?
  • [ ] Are edge cases tested?
  • [ ] Are failure conditions tested?
  • [ ] Did the existing test suite still pass?

Production readiness

  • [ ] Will failures produce useful logs?
  • [ ] Can this feature be monitored?
  • [ ] Could logs expose sensitive information?
  • [ ] Can the change be rolled back safely?

Git and review

  • [ ] Is the change focused?
  • [ ] Are commit messages meaningful?
  • [ ] Did I inspect my final diff?
  • [ ] Is the pull request small enough to review properly?

This checklist will not make your code perfect.

It will catch a surprising number of avoidable problems.


What About Continuous Learning?

The original version of this article included continuous learning as one of the ten things developers should "add while coding."

Continuous learning is still essential but it is bigger than any single line of code.

Programming changes constantly.

Languages evolve.

Frameworks change.

Security practices improve.

New vulnerabilities appear.

AI development tools evolve rapidly.

Cloud platforms add new capabilities.

The solution is not to chase every trend.

Instead, build a learning system.

A practical developer learning loop

Build
↓
Get stuck
↓
Research
↓
Understand
↓
Implement
↓
Review
↓
Reflect
↓
Build again
Enter fullscreen mode Exit fullscreen mode

Useful learning sources include:

  • Official documentation
  • Source code
  • Engineering blogs
  • Developer communities
  • Technical books
  • Conferences
  • Experienced teammates
  • Open-source projects
  • AI assistants

But always distinguish between:

Knowing that a solution exists

and

Understanding why that solution works.

The second one makes you a better engineer.


Frequently Asked Questions

What should every programmer add while coding?

Every programmer should focus on readable naming, useful documentation, consistent formatting, validation, error handling, tests, security, logging, dependency management, and version control.

In 2026, developers should also add a deliberate verification step for AI-generated code before using it in production.


What are the most important coding best practices in 2026?

The most important practices are:

  • Keep code simple and understandable.
  • Validate external input.
  • Handle errors intentionally.
  • Never hardcode production secrets.
  • Test important behavior.
  • Review AI-generated code.
  • Keep dependencies maintained.
  • Add useful observability.
  • Use Git properly.
  • Keep code changes reviewable.

These practices reduce bugs while making future changes safer.


Is using AI-generated code a bad programming practice?

No.

Using AI for coding can improve productivity when used responsibly.

AI coding tools are useful for:

  • Boilerplate
  • Refactoring
  • Debugging
  • Tests
  • Documentation
  • Explaining code
  • Exploring implementation approaches

The problem is blindly trusting generated code.

Developers should understand, review, test, and verify AI-generated code before shipping it.


How do I know whether AI-generated code is correct?

Do not rely on how confident or convincing the answer sounds.

Instead:

  1. Understand the suggested approach.
  2. Verify APIs against official documentation.
  3. Run the code locally.
  4. Compare it with your existing architecture.
  5. Test edge cases.
  6. Inspect security implications.
  7. Review the final diff.

Generated code should go through the same engineering standards as human-written code.


Are comments necessary in clean code?

Yes, when they provide information the code cannot communicate clearly on its own.

Useful comments explain:

  • Why a decision was made
  • Why a workaround exists
  • Why an unusual constraint matters
  • Why behavior cannot be changed

Avoid comments that simply translate obvious code into English.


What is the difference between a formatter and a linter?

A formatter primarily controls how code looks, including indentation, spacing, and line breaks.

A linter analyzes code for problematic patterns, potential errors, or coding-standard violations.

Many development teams use both.


Why is error handling important?

Proper error handling prevents unexpected failures from becoming application crashes or confusing user experiences.

It also helps developers diagnose issues by preserving useful debugging context.

Production applications should expect external services, networks, user input, and other dependencies to fail occasionally.


Why is version control important for programmers?

Version control systems such as Git allow developers to:

  • Track changes
  • Collaborate
  • Review code
  • Revert mistakes
  • Investigate bugs
  • Maintain release history

Git should be treated as part of the engineering workflow, not merely a place to back up source files.


Should beginner programmers write tests?

Yes.

Beginners do not need to master every testing strategy immediately.

Start with small functions and important behavior.

Learning to think about expected outputs, invalid inputs, edge cases, and failures will improve your programming skills even before you become an expert in testing frameworks.


What makes code maintainable?

Maintainable code is generally:

  • Easy to read
  • Easy to test
  • Easy to change
  • Predictable
  • Well structured
  • Appropriately documented
  • Loosely coupled where possible
  • Supported by useful tests

The best test is simple:

Can another developer safely understand and modify this code without depending on the original author?


Final Thoughts

Great programming is not about writing the maximum amount of code.

It is about writing the minimum amount of code necessary to solve a problem clearly and reliably.

In 2026, that becomes even more important because tools can generate code faster than ever.

The developers who stand out will not simply be the fastest typists or the best prompt writers.

They will be the developers who know how to:

Name things clearly.

Design understandable systems.

Validate assumptions.

Handle failures.

Write useful tests.

Verify AI-generated code.

Protect secrets.

Manage dependencies.

Observe production systems.

Make changes that teammates can review safely.

Tools will change.

Programming languages will change.

AI models will change.

Frameworks will change.

But these engineering habits will continue to matter.

If you're a developer, which of these practices has saved you the most debugging time?

Share your experience in the comments.


Sources and Further Reading

The 2026 update to this guide was informed by current developer, security, and search guidance:


Need Help Building Your Next Product?

If you're working on a complex project and need an experienced development team, you can explore my company's mobile app development services.

You can also book a 30 min free consultation to discuss your requirements.

Happy coding! 🚀


Also Read



Last updated: October, 2026

Top comments (5)

Collapse
 
rafo profile image
Rafael Osipov •

On #2 "Comments for Clarity":

Write code that does not require commenting at all. If you have used meaningful names for identifiers (classes, methods, fields, properties, variables, etc), then your code should not require any comments. Its logic should be obvious for a reader.

Only use comments in cases when you are forced to implement a workaround for a framework issue and this workaround looks strange.

Collapse
 
dhruvjoshi9 profile image
Dhruv Joshi •

Thanks for it!

Collapse
 
ono_saburo_f69c6f78c2d78d profile image
Ono Saburo •

Hello there,
I hope you're doing well.
I have a good business idea that I'd love to discuss with you in more detail.
To give you some background, a friend of mine started this business with a U.S.-based partner three years ago. Since then, he's been paying his partner between $8,000 and $10,000 per month, and the business has been working well.
If you're interested in learning more, I'd be happy to share the details.
Whatsapp: +81 70-9427-3751
Telegram: @ono0319
Best regards,
Ono

Collapse
 
ralphhightower profile image
Ralph Hightower •

Meaningful comments are extremely helpful for complex sections of code. One web page needed the use of C# .Net conditional validations. Meaningful field names were used for input fields, radio buttons, and checkboxes. For example, regarding immunizations versus history of the disease, either an exact date was required for the date of the immunization, or a year was required for when the person had the disease. Due to the repetition of the questions, for diseases such as chickenpox, mumps, rubella, and measles, a common function could be shared for use in validations, instead of copy/paste of the code that handled each disease.

Collapse
 
rafo profile image
Rafael Osipov •

In agile environment the code changes too fast. And developer should keep this code maintainable. And when developer has to maintain not only the changing code but (outdated) comments, it is not good for business.

Some comments may only be visible to logged-in visitors. Sign in to view all comments.